Umwelt: Installshield 2009 Premier, Vista (Home/Premium, Ultimate)Installshield 2009 Premier Custom Action Problem in Vista Home/Premium/Ultimate
Ich habe eine benutzerdefinierte Aktion in Installshield 2009, die bei der Installation feuern würde . Wenn setup.exe ausgeführt wird, ist es in Ordnung, aber wenn MyApplication.msi in Vista ausgeführt wird (bitte beachten Sie, dass die benutzerdefinierten Aktionen in anderen Betriebssystemen problemlos funktionieren), wird die Ausnahme angezeigt, die die benutzerdefinierte Aktion ausführt. Benutzerdefinierte Aktion führt nur eine EXE mit Befehlszeilenargumenten aus.
Diese exe führt in diesem OS nur gut einzeln. Aber wenn MyApplication.msi es ausführen möchte, zeigt es eine Ausnahme an.
Ich denke: MyApplication.msi kann dieser benutzerdefinierten Aktion (.exe-Datei) nicht die richtige Berechtigung (administrative) geben, um damit zu arbeiten. Aber setup.exe kann.
Wie kann es gelöst werden ...?
Vom Assistenten Custom Action für meine benutzerdefinierte Aktion, für die "In-Script Execution" Wert wählte ich "verzögerte Ausführung Im Systemkontext"
Hallo Michael, Danke 4 you info. Ja, ich bin neu bei InstallShield. Meine benutzerdefinierte Aktion wird in der Ausführungssequenz ausgeführt. Seine Eigenschaften waren: Return Verarbeitung: Synchrone (Exit-Code überprüfen) In Skriptausführung: Sofortige Ausführung Scheduling Execution: Immer UI Sequenz Install ausführen: Sequenz ausführen installieren: installieren Execute Bedingung: NICHT installiert UND NICHT PATCH Nun, wenn die Eigenschaft "In Skriptausführung" auf "verzögerte Ausführung im Systemkontext" während der Installation festgelegt ist, zeigt es Ausnahme auch in XP und Vista. Was nun zu tun? –
Samir
Ah, das ist eine weitere Einschränkung der zurückgestellten Aktionen: Sie müssen zwischen InstallInitialize und InstallFinalize geplant werden. Wenn Sie es tatsächlich als erste Aktion benötigen, müssen Sie wahrscheinlich auf die UI-Sequenzmethode zurückgreifen (die in der Ausführungssequenz doppelt schlecht ist, da die Ausführungssequenz die Benutzeroberfläche nicht anzeigen soll). –
Vielen Dank Michael. Es klappt. Ich habe auch Manifest-Datei für diese benutzerdefinierte Aktion hinzugefügt, obwohl ohne es in Vista funktioniert. – Samir