2015-02-25 15 views
5

Używając niestandardowej akcji w InstallShield, próbuję uruchomić plik .exe podczas instalacji, aby zarejestrować usługę innej firmy. .exe musi działać w trybie administratora. To musi być uruchomione w trybie UI lub trybie cichym. Jest to zestaw plików stron trzecich, które są wdrażane za pośrednictwem naszego instalatora, ale muszę go wykonać podczas procesu.InstallShield - Potrzebuję uruchomić niestandardową akcję .exe w trybie administratora

Próbowałem wykonać go z "Install Exec Sequence" "After Install Files" (a także wypróbowałem "After Publish Features"). W tym przypadku pojawia się następujący dialog:

enter image description here

Ja również próbowałem go z „Admin Exec Sequence” „Po InstallFiles”, ale to wydaje się nie działać w ogóle. Program zostanie zainstalowany, ale muszę ręcznie uruchomić komendę, aby wszystko działało.

Mam również wykonanie In-Script ustawione na "Odroczone wykonanie" i przetwarzanie powrotne ustawione na "Synchroniczny (Sprawdź kod zakończenia)".

Mogę więc użyć wskazówek, gdzie należy to wykonać? Zainstaluj sekwencję Exec? Sekwencja Admin Exec? Po jakim etapie?
W którym momencie program jest napisany i dostępny do wykonania?

Odpowiedz

6

Mam to działa. Kluczem było ustawienie wartości "Odroczona realizacja w kontekście systemowym". Jeśli ustawione na "Odroczone wykonanie", działa w trybie użytkownika.

enter image description here

Również "Admin Exec Sequence" nie nazywa się w tym przypadku. Aby uruchomić tę ścieżkę, należy uruchomić .msi przy pomocy/a. Administratorzy mogą zarządzać instalacjami na wielu komputerach. (Microsoft's Description)

+1

Należy pamiętać, że działania zaplanowane w celu odroczonego wykonywania w kontekście systemowym muszą być umieszczone po InstallInitialize w sekwencji instalowania Exec [[źródło] (https://msdn.microsoft.com/en-us/library/windows/ desktop/aa368268% 28v = vs.85% 29.aspx)]. Będą działać z pełnymi uprawnieniami, ale nie będą miały dostępu do większości właściwości MSI. Możesz przekazać im potrzebne informacje za pomocą specjalnej właściwości CustomActionData [[źródło] (http://helpnet.flexerasoftware.com/installshield22helplib/helplibrary/AccessingProps-DeferredCAs.htm)]. – Agostino

Powiązane problemy