Finden des Ausführungspfades
Finden des Ausführungspfades
Guten Tag
Ich habe die Aufgabe ein NetSetup zu machen,
hier ist die Idee wenn ein Benutzer ein Programm auf einem Server installiert hat, (ohne registry einträge) dass der Benutzer an
der Domaine ein MSI ausführen kann welches auf seiner Maschine die registry einträge installiert.
So weit funktioniert es gut, jedoch soll dieser Benutzer noch zusätzlich
eine verknüpfung auf dem Desktop haben, hier liegt das Problem. Wie bekomme ich den Pfad der Installierten Exe Datei, damit ich von ihr eine
Verknüpfung machen kann.
Programmpfad:
...ProgrammFiles\[Freie Wahl durch benutzer]\[Programmdaten]
...ProgrammFiles\[Freie Wahl durch benutzer]\NetSetup\
die exe liegt im Programmdatenteil und die MSIs im NetSetup teil.
Wie krige ich jetzt den Pfad der Exe heraus?
danke für Ihre Bemühungen im voraus.
Ich habe die Aufgabe ein NetSetup zu machen,
hier ist die Idee wenn ein Benutzer ein Programm auf einem Server installiert hat, (ohne registry einträge) dass der Benutzer an
der Domaine ein MSI ausführen kann welches auf seiner Maschine die registry einträge installiert.
So weit funktioniert es gut, jedoch soll dieser Benutzer noch zusätzlich
eine verknüpfung auf dem Desktop haben, hier liegt das Problem. Wie bekomme ich den Pfad der Installierten Exe Datei, damit ich von ihr eine
Verknüpfung machen kann.
Programmpfad:
...ProgrammFiles\[Freie Wahl durch benutzer]\[Programmdaten]
...ProgrammFiles\[Freie Wahl durch benutzer]\NetSetup\
die exe liegt im Programmdatenteil und die MSIs im NetSetup teil.
Wie krige ich jetzt den Pfad der Exe heraus?
danke für Ihre Bemühungen im voraus.
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Guten Tag!
Dazu ein paar Fragen:
Unter "ProgrammFiles\[Freie Wahl durch benutzer]\[Programmdaten]" kann ich mir nicht viel vorstellen, geschieht das im MSI?
Der Ort wird doch einer Eigenschaft oder einem Verzeichnis zugeordnet oder wie ist der Ablauf?
Falls ja, lässt sich das Ziel des Link mittels [VARIABLE]Programm.exe festlegen. VARIABLE ist entweder der Ordner oder die Eigenschaft, die der Benutzer mit der Auswahl des Pfad setzt.
Wenn es das nicht ist, benötige ich mehr Informationen.
Dazu ein paar Fragen:
Unter "ProgrammFiles\[Freie Wahl durch benutzer]\[Programmdaten]" kann ich mir nicht viel vorstellen, geschieht das im MSI?
Der Ort wird doch einer Eigenschaft oder einem Verzeichnis zugeordnet oder wie ist der Ablauf?
Falls ja, lässt sich das Ziel des Link mittels [VARIABLE]Programm.exe festlegen. VARIABLE ist entweder der Ordner oder die Eigenschaft, die der Benutzer mit der Auswahl des Pfad setzt.
Wenn es das nicht ist, benötige ich mehr Informationen.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
AKApplications, Andreas Kapust
salu
ok.
Also der Kunde installiert mit einem MSI Paket (vom AKInstallerMSI)
das Programm mit einem integrierten MSI Paket NetSetup, welches in
den Installdir\NetSetup installiert wird. Der Benutzer kann bei der Installation
frei wählen wo hin es installiert werden soll also zb.
\\server01\programm\...
C:\programmfiles\programm'\...
Jetzt kommt ein Domainen Benutzer und geht auf den Ordner
\\server01\programm\NetSetup\ und kann dort das MSI Paket welches
bei der installation erstellt wurde ausführen.
bei dieser Installation weiss ich nicht den genauen Pfad von der Exe des
Hauptprogrammes, somit kann ich keine Verknüpfung zur exe erstellen.
In der Registrie des Servers steht es der pfad zwar drin, doch es wird ja
die registrie des ausführenden PCs getestet und nicht vom verfügungs
stellenden PCs.
ok.
Also der Kunde installiert mit einem MSI Paket (vom AKInstallerMSI)
das Programm mit einem integrierten MSI Paket NetSetup, welches in
den Installdir\NetSetup installiert wird. Der Benutzer kann bei der Installation
frei wählen wo hin es installiert werden soll also zb.
\\server01\programm\...
C:\programmfiles\programm'\...
Jetzt kommt ein Domainen Benutzer und geht auf den Ordner
\\server01\programm\NetSetup\ und kann dort das MSI Paket welches
bei der installation erstellt wurde ausführen.
bei dieser Installation weiss ich nicht den genauen Pfad von der Exe des
Hauptprogrammes, somit kann ich keine Verknüpfung zur exe erstellen.
In der Registrie des Servers steht es der pfad zwar drin, doch es wird ja
die registrie des ausführenden PCs getestet und nicht vom verfügungs
stellenden PCs.
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Hi!
Dann würde ich im Installationsverzeichnis von NetSetup eine Ini-Datei anlegen, die den Pfad der Exe beinhaltet.
Diese wird dann beim Start von "NetSetup" über eine CA oder "Daten suchen" ausgelesen und damit die entsprechende Eigenschaft gesetzt.
Schon geht es.
Dann würde ich im Installationsverzeichnis von NetSetup eine Ini-Datei anlegen, die den Pfad der Exe beinhaltet.
Diese wird dann beim Start von "NetSetup" über eine CA oder "Daten suchen" ausgelesen und damit die entsprechende Eigenschaft gesetzt.
Schon geht es.

Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
AKApplications, Andreas Kapust
Auslesen von Ini dateien.
danke erstmal für die Antwort.
Habe jetzt eine ini erstellt mit dem Programm jedoch, wie kann ich diese
mit der Suchoption wieder einlesen?
Habe jetzt eine ini erstellt mit dem Programm jedoch, wie kann ich diese
mit der Suchoption wieder einlesen?
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Hallo!
Daten suchen und Ini scheitert leider (das hatte ich vergessen) daran, dass sich die Ini-Datei im Windows-Verzeichnis befinden muss.
Es bleibt also vorerst nur der Weg über eine CA. Entweder per Skript durch das Auslesen der Eigenschaft SourceDir und anschließendem Lesen der Ini und natürlich dem Setzen einer neuen Eigenschaft oder halt per DLL mit gleichem Ablauf. Ich setze diese Funktionalität mal auf die ToDo-Liste.
Daten suchen und Ini scheitert leider (das hatte ich vergessen) daran, dass sich die Ini-Datei im Windows-Verzeichnis befinden muss.

Es bleibt also vorerst nur der Weg über eine CA. Entweder per Skript durch das Auslesen der Eigenschaft SourceDir und anschließendem Lesen der Ini und natürlich dem Setzen einer neuen Eigenschaft oder halt per DLL mit gleichem Ablauf. Ich setze diese Funktionalität mal auf die ToDo-Liste.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
AKApplications, Andreas Kapust
Danke für ihre Antwort.
Habe inzwischen noch einbischen geübt und bin zur Lösung mit SourceDir
zurück gekommen. Dies funktioniert super sogar mit UNC Pfad.
[SourceDir]..\project.exe
so geht es eine Ordnerebene zurück und macht ein shortcut von der project.exe.
jedoch kann ich das Arbeitsverzeichnis nicht auf dieselbe weise einstellen
da dieses nur Ordner aus dem installer akzeptiert.
Haben sie eine Idee wie man dies lösen könnte?
Habe inzwischen noch einbischen geübt und bin zur Lösung mit SourceDir
zurück gekommen. Dies funktioniert super sogar mit UNC Pfad.
[SourceDir]..\project.exe
so geht es eine Ordnerebene zurück und macht ein shortcut von der project.exe.
jedoch kann ich das Arbeitsverzeichnis nicht auf dieselbe weise einstellen
da dieses nur Ordner aus dem installer akzeptiert.
Haben sie eine Idee wie man dies lösen könnte?
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Salu
Eigentlich will ich ja den Installationsort von der Main installation welche auf dem Server liegt.
Dort ist ja das NetSetup auch angesiedelt.
Den Pfad von NetSetup bekomme ich ja mit
[SourceDir] und mit ..\ gehe ich eine Ordner ebene zurück, klappt
ja soweit.
Jedoch beim erstellen einer Externen Verknüpfung kann man ja Ziel des Linkes angeben:
[SourceDir]..\project.exe
habe ich hier verwendet. Doch es gibt noch die Option Arbeitsverzeichnis,
welche bei einem Shortcut ja soviel wie Start in ist. diese möchte ich gerne auf den Pfad [SourceDir] setzen.
Eigentlich will ich ja den Installationsort von der Main installation welche auf dem Server liegt.
Dort ist ja das NetSetup auch angesiedelt.
Den Pfad von NetSetup bekomme ich ja mit
[SourceDir] und mit ..\ gehe ich eine Ordner ebene zurück, klappt
ja soweit.
Jedoch beim erstellen einer Externen Verknüpfung kann man ja Ziel des Linkes angeben:
[SourceDir]..\project.exe
habe ich hier verwendet. Doch es gibt noch die Option Arbeitsverzeichnis,
welche bei einem Shortcut ja soviel wie Start in ist. diese möchte ich gerne auf den Pfad [SourceDir] setzen.
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Guten Tag!
Mir fehlt heute etwas die Zeit, ein Szenario aufzubauen.
Bitte mal probieren, ob diese geht:
Main.msi über "Daten suchen" suchen und das Suchergebnis (die Eigenschaft) dafür nutzen.
Ansonsten befasse ich mich, wenn die Zeit es erlaubt, morgen noch mal damit.
Mir fehlt heute etwas die Zeit, ein Szenario aufzubauen.
Bitte mal probieren, ob diese geht:
Main.msi über "Daten suchen" suchen und das Suchergebnis (die Eigenschaft) dafür nutzen.
Ansonsten befasse ich mich, wenn die Zeit es erlaubt, morgen noch mal damit.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
AKApplications, Andreas Kapust
-
- Administrator
- Beiträge: 1092
- Registriert: 29.02.2004, 15:51
- Wohnort: Hamburg
- Kontaktdaten:
Guten Tag!
Legen Sie diese Script als Getfolder.vbs in Ihrem Projektverzeichnis ab:und legen unter Benutzerdefinierte Aktionen eine neue CA an.
Scripttyp: VBScript
Speicherort: In Ressource
(Getfolder.vbs als Ressource einfügen)
Zeitpunkt: sofort
Häufigkeit: Nur einmal einbinden
Sequenzen:
Nach AppSearch in "Install Execute/UI" einfügen.
Bedingung: Not (REMOVE~="ALL")
Dateien-Seite:
Ordner über Eigenschaft -> Name = MainSetup -> Suchergebnis=MAIN_MSISETUP
Verknüpfungen (Externe Datei):
Ziel des Links: [MAIN_MSISETUP]MainSetup.exe
Arbeitsverzeichnis = MsiSetup
Legen Sie diese Script als Getfolder.vbs in Ihrem Projektverzeichnis ab:
Code: Alles auswählen
Dim FSO
Dim obj
Set FSO = CreateObject("Scripting.FileSystemObject")
Set obj = FSO.GetFolder(Session.Property("SourceDir"))
Session.Property("MAIN_MSISETUP") = obj.ParentFolder.Path
Scripttyp: VBScript
Speicherort: In Ressource
(Getfolder.vbs als Ressource einfügen)
Zeitpunkt: sofort
Häufigkeit: Nur einmal einbinden
Sequenzen:
Nach AppSearch in "Install Execute/UI" einfügen.
Bedingung: Not (REMOVE~="ALL")
Dateien-Seite:
Ordner über Eigenschaft -> Name = MainSetup -> Suchergebnis=MAIN_MSISETUP
Verknüpfungen (Externe Datei):
Ziel des Links: [MAIN_MSISETUP]MainSetup.exe
Arbeitsverzeichnis = MsiSetup
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
AKApplications, Andreas Kapust