2013-10-23 17 views

Odpowiedz

4

Zazwyczaj nie odinstalowuje się starszych wersji aplikacji podczas instalowania aktualizacji.

The AppId jest spokrewniony; biorąc pod uwagę dwa instalatory (lub częściej dwie wersje tego samego instalatora) o tym samym identyfikatorze, domyślnie Inno zaproponuje instalację w tym samym folderze co poprzednia instalacja, a dwa udostępnią informacje o odinstalowaniu.

Zwykle po zwolnieniu uaktualnionej wersji tej samej aplikacji wystarczy upewnić się, że AppId (lub AppName, jeśli nie określono identyfikatora) jest taka sama, jak w starszej wersji i wszystko po prostu zadziała.

Jedno, co jest zalecane, choć (nawet do pierwszej wersji) jest dodanie następujących do sekcji [Setup]:

DisableDirPage=auto 
DisableProgramGroupPage=auto 

To pozwoli użytkownikowi wybrać miejsce instalacji na pierwszej instalacji, ale ukryć wybór na kolejnych instalacjach/uaktualnieniach. Ponieważ i tak Inno domyślnie przyjmuje poprzednią lokalizację, unika to ewentualnych pomyłek (i pozostawionych plików), które mogą wynikać ze zmiany lokalizacji instalacji z jednej instalacji na drugą.

Poza tym rzadko istnieje potrzeba robienia czegokolwiek innego. W rzadkich przypadkach możesz spowodować, że dany plik używany w poprzedniej wersji będzie nadmiarowy (np. Nie będzie już używać konkretnej biblioteki); jeśli chcesz, możesz sobie z tym poradzić, używając wpisu [InstallDelete], aby usunąć wszystkie pliki z wcześniejszych wersji, które nie są już potrzebne. (Zawsze upewnij się, że usuwasz tylko określone pliki po nazwie - używanie symboli wieloznacznych jest bardzo niebezpieczne.) Zwykle nie ma za wiele krzywdzenia w pozostawianiu zbędnych plików (chyba że są ogromne) - w końcu i tak zostaną oczyszczone, jeśli użytkownik odinstalowuje.

Jeśli chcesz jeszcze bardziej dostosować swoje zachowanie, możesz zrobić różne rzeczy w [Code].

+1

od tej pory nie dałem użytkownikom opcji wyboru miejsca instalacji. Więc muszę zachować AppId i AppName same w sobie. Bardzo dziękuję :) –

+4

Możesz zmienić 'AppName', jeśli chcesz, o ile' AppId' pozostanie niezmienione. Ale jeśli już wydałeś oprogramowanie, używając skryptu, który nie ma określonego 'AppId', musisz zrobić, aby twoja * następna * wersja miała tę samą nazwę' AppName' i nadal nie ma 'AppId' lub mieć'. AppId' ustawiony równy 'AppName' poprzedniej wersji (brakowało' AppId'). Mam nadzieję, że to jasne. :) – Miral

+1

[DisableDirPage] (http://www.jrsoftware.org/ishelp/index.php?topic=setup_disabledirpage) i [DisableProgramGroupPage] (http://www.jrsoftware.org/ishelp/index.php?topic= setup_disableprogramgrouppage) są teraz domyślnie automatyczne. –

Powiązane problemy