Laden...

Setup\WebSetup Projekt

Erstellt von plongo vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.805 Views
P
plongo Themenstarter:in
123 Beiträge seit 2006
vor 16 Jahren
Setup\WebSetup Projekt

Hallo,

für unseren Produkt möchten wir ein Setup\Websetup generieren um die Installation beim Kunden zu erleichertn.
Nun arbeite ich mich in dieses Thema ein.

Über Visual Studio 2005 werden mir Setups zur Verfügung gestellt.
Zu den Standardfunktionen die das Setup schon anbietet, ist es ja auch möglich eigene Aktionen zu definieren.

Dafür benötige ich aber Parameter\Properties z.b. Installtionspfad unseres Produktes.

Leider finde ich nirgends eine Information wie ich diese ermitteln kann.

Für jede gute Quelle bin ich dankbar.

Mfg

Gruss plongo


Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de

P
plongo Themenstarter:in
123 Beiträge seit 2006
vor 16 Jahren

Hi,

über http://msdn2.microsoft.com/de-de/library/system.configuration.install.installer(VS.80).aspx

sollte mir der Installer.Context.Parameters Werte (wie z.b Install-DIR) ausgeben.

Nun habe ich mir eine eigene Installer Klasse erstellt und die Installt Methode überschrieben.

Und mit folgenden Code gefüllt:


      System.Collections.IDictionary)
        MyBase.Install(stateSaver)

        'AddDBTable(Me.Context.Parameters.Item("sql"))
        '', _                   Me.Context.Parameters.Item("sql"))

        Try
            Log("Install")
            LeseParameter(Me.Context.Parameters)
            'LeseInstallers(Me.Installers)
        Catch ex As Exception
        End Try
    End Sub


    Private Sub Log(ByVal text As String)
        Dim writer As StreamWriter = New StreamWriter("S:\Tests\log\log.txt", True)

        writer.WriteLine(text)

        writer.Flush()
        writer.Close()
    End Sub

    Private Sub LeseParameter(ByVal parameters As System.Collections.Specialized.StringDictionary)
        Log(parameters.Count.ToString)
        For Each parameter As String In parameters.Keys
            Log(parameter & " = " & parameters(parameter))
        Next
    End Sub

Dieses gibt mir folgende Werte in der log.txt aus:


Install
5
action = install
sql = test
installtype = notransaction
assemblypath = C:\Programme\yyy\zzz\OpenWeb.dll
logfile = 

Ok, der assemblypath gibt mir schon den Pfad aus, aber ohne die dll wäre es mir schon lieber.

Gruss plongo


Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de

P
plongo Themenstarter:in
123 Beiträge seit 2006
vor 16 Jahren

Hi,

habe die Lösung gefunden.

Das Property CustomActionData muss den Wert /name="[TARGETDIR]" enthalten.

Danach kann ich auf die gewünschte Information zugreifen.

Danke & Mfg
plongo

Gruss plongo


Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de