Ich verwende InstallShield 12 Premier.
Ich habe im BASIC MSI ein InstallScript (setup.rul) geschrieben und eine Benutzerdefinierte Aktion hinzugefügt welche eine Funktion im Skript aufrufen soll.
Ich sehe aber keine Möglichkeit Argumente an die Funktion zu übergeben.
Kann mir da jemand helfen?
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
InstallScript in BASIC-MSI
Started by
kukumar
, Feb 28 2007 12:27
4 replies to this topic
Posted 01 March 2007 - 17:57
Geht nicht. Du kannst aber in der Funktion Property-Werte abfragen mit MsiGetProperty.
Stefan Krüger
InstallSite.org twitter facebook
Posted 02 March 2007 - 11:53
Danke Stefan,
ich habe die Idee verstanden wie es heutzutage mit Scripten gemacht wird.
Leider habe ich mir dabei einen Bock geschoßen!
Ich habe mit Script eine CA erstellt welche von Netzwerk aus paar Dateien ins Zeilverzeichnis kopiert. Das hat soweit super funktioniert. Nur beim Deinstallieren/Reparien/Modifizieren gibt es eine Fehlermeldung ud Abbruch (Unknown Source "." ). Ich verstehe nicht welche Source gemeint ist und vorallem warum beim Deinstallieren die CA aufgerufen wird?
Leider kann ich das Script auch nicht genau Debuggen weil ich beim Ablaufen des MSI Debuggers nicht in die Scriptfunltion reingehenen kann, wie bei einem InstallScript Projekt.
Ist das wirklich so?
Wie kriege ich jetzt die Software deinstalliert?
Wie bestimme ich dass diese CA beim Reparieren, Modifizieren oder Deinstallieren nicht aufgerufen wird? Ich hab sie nur in der AUsführensequenz der Installation drin.
ich habe die Idee verstanden wie es heutzutage mit Scripten gemacht wird.
Leider habe ich mir dabei einen Bock geschoßen!
Ich habe mit Script eine CA erstellt welche von Netzwerk aus paar Dateien ins Zeilverzeichnis kopiert. Das hat soweit super funktioniert. Nur beim Deinstallieren/Reparien/Modifizieren gibt es eine Fehlermeldung ud Abbruch (Unknown Source "." ). Ich verstehe nicht welche Source gemeint ist und vorallem warum beim Deinstallieren die CA aufgerufen wird?
Leider kann ich das Script auch nicht genau Debuggen weil ich beim Ablaufen des MSI Debuggers nicht in die Scriptfunltion reingehenen kann, wie bei einem InstallScript Projekt.
Ist das wirklich so?
Wie kriege ich jetzt die Software deinstalliert?
Wie bestimme ich dass diese CA beim Reparieren, Modifizieren oder Deinstallieren nicht aufgerufen wird? Ich hab sie nur in der AUsführensequenz der Installation drin.
Posted 04 March 2007 - 14:44
Ich habe ansatztweise die Problemursache gefunden.
Es sieht so aus als wenn das Unknown Source mit der fehlenden .tmp Datei zusammenhängt und nicht mit der CA.
ABer wieso verschwindet einfach die zugehörige -tmp DAtei? WAs steht alles drin?
Kann es sein, dass der Problem daran lag, dass es eine Installation von der Festplatte aus war, damit war die -tmp Datei immer noch im Release Ordner. Und bei weiterentwicklung des Programs durch eine andere überschrieben wurde!?
Ich finde es gefährlich wenn eine .tmp so wichtig ist und plötzlich verschwindet. Wo gehört die .tmp Datei eigentlich hin nach der Installation?
Nach dieser Theorie müsste bei einer Installation von der CD der User bei Reparatur oder Deinstallation die CD nochmal einlegen damit die .tmp Datei zu verfügung steht.
Was ist nun richtig?
Es sieht so aus als wenn das Unknown Source mit der fehlenden .tmp Datei zusammenhängt und nicht mit der CA.
ABer wieso verschwindet einfach die zugehörige -tmp DAtei? WAs steht alles drin?
Kann es sein, dass der Problem daran lag, dass es eine Installation von der Festplatte aus war, damit war die -tmp Datei immer noch im Release Ordner. Und bei weiterentwicklung des Programs durch eine andere überschrieben wurde!?
Ich finde es gefährlich wenn eine .tmp so wichtig ist und plötzlich verschwindet. Wo gehört die .tmp Datei eigentlich hin nach der Installation?
Nach dieser Theorie müsste bei einer Installation von der CD der User bei Reparatur oder Deinstallation die CD nochmal einlegen damit die .tmp Datei zu verfügung steht.
Was ist nun richtig?
Posted 07 March 2007 - 11:15
Ich kann mir nicht vorstellen, dass es an der Tmp Datei liegt. Bin mir aber nicht 1000%-ig sicher.
Wenn Du deine CA nur bei der Erstinstallation aufrufen möchtest, dann verwende als Bedingung "NotInstalled". Das sollte funktionieren.
Da Du den Fehler "Unknown Source" bekommst und deine CA nun mal grad eine ist, die Dateien von einer Source zu einem Target kopiert, würde ich anhand der Fehlermeldung eher auf die CA als Ursache schließen.
Hast Du schonmal eine Protokollierte Installation ausgeführt (Setup.exe /V "/L <Pfad zur Logdatei>" oder mit msiexec /j <Pfad zur msi Datei> /log <Pfad zur Logdatei>)?
Wenn Du deine CA nur bei der Erstinstallation aufrufen möchtest, dann verwende als Bedingung "NotInstalled". Das sollte funktionieren.
Da Du den Fehler "Unknown Source" bekommst und deine CA nun mal grad eine ist, die Dateien von einer Source zu einem Target kopiert, würde ich anhand der Fehlermeldung eher auf die CA als Ursache schließen.
Hast Du schonmal eine Protokollierte Installation ausgeführt (Setup.exe /V "/L <Pfad zur Logdatei>" oder mit msiexec /j <Pfad zur msi Datei> /log <Pfad zur Logdatei>)?
Edited by asSiDeluxE!, 07 March 2007 - 11:19.