2009-06-27 14 views
5

Moja firma opracowuje aplikację, która jest zależna od innej aplikacji. Ta druga aplikacja ma już instalator Inno Setup.Uruchom inny instalator w instalacji Inno Setup

Dlatego myślę, że chciałbym dołączyć instalator drugiej aplikacji do instalatora Inno Setup dla pierwszej aplikacji. Ale nie jestem pewien, jak to właściwie zrobić. Czy ktoś wie "właściwą drogę", aby to zrobić?

Znalazłem: Inno Setup Knowledge Base—HOWTO: Install .MSI files. Zakładam, że technika mogłaby być użyta dla zagnieżdżonego instalatora Inno Setup. Mam jednak kilka pytań dotyczących drobnych szczegółów:

  1. Jak mogę to zrobić, jeśli pierwsza aplikacja zostanie odinstalowana, druga zostanie również odinstalowana?
  2. Czy to rozsądna czynność (automatyczne odinstalowanie drugiej aplikacji), czy też powinienem ją zostawić użytkownikowi, aby zrobiła to ręcznie?
  3. Jeśli użytkownik spróbuje odinstalować drugą aplikację, gdy pierwsza zostanie odinstalowana, czy powinienem ją jakoś wykryć i dać ostrzeżenie? Jak mogłem to zrobić?

Odpowiedz

2

Jeśli chodzi o poziom funkcjonalności deinstalatora, o którym mówisz, radzę zapoznać się ze skryptami pascal w programie Inno Setup (jeśli jeszcze nie masz). Oferuje niewiarygodną personalizację, ale ma powody do tego, aby twoje projekty były o wiele bardziej złożone.

Aby odpowiedzieć na trzecie pytanie pierwsze:

Tak, należy to zrobić. Aby zrobić to poprawnie, musisz dodać tę funkcję do deinstalatora drugiej aplikacji (tj. Tej, na której jest zależna twoja aplikacja). Zobacz Uninstall event functions w pomocy programu Inno Setup. Musisz sprawdzić w tym deinstalatorze, czy twoja aplikacja jest zainstalowana (sprawdzając, czy na przykład istnieje HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName) iw takim przypadku pokaż dodatkowe ostrzeżenie.

Co do drugiego pytania:

Jeśli jest zdalnie możliwe, że Twój klient chce nadal korzystać z drugą aplikację, nawet jeśli zdecyduje, że chce, aby odinstalować pierwszy, należy zaoferować mu wybór. Zrobiłbym to z oddzielną stroną kreatora w deinstalatorze dla twojej aplikacji, po odinstalowaniu twojej aplikacji.

I wreszcie, pierwsze pytanie:

Musisz określić nazwę (pełną ścieżkę) innej aplikacji za Uninstaller exe. Można go pobrać z klucza rejestru HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SecondAppName\UninstallString. Aby wykonać go ze skryptu w sekcji [CODE], zobacz Exec w pomocy Inno Setup.

+1

Udostępnianie kodu! – tmighty

Powiązane problemy