Plik nagłówkowy Library.nsh może być użyty do instalacji bibliotek łączonych dynamicznie (DLL) oraz bibliotek typu (TLB). Dostępne są następujące akcje:
Makra przechowywane są w pliku nagłówkowym Library.nsh, który powinien być dołączony do skryptu, poprzez poniższe polecenie:
!include Library.nsh
Zauważ, że makra biblioteki są ograniczone na platformach innych od Windows. Informacje o wersji bibliotek DLL wymagane są przy kompilacji na platformach innych od Windows.
Makro InstallLib pozwala na instalację biblioteki. Ustawia flagę błędu, w razie wystąpienia jakiegoś błędu podczas instalacji biblioteki.
Aby mieć możliwość zapytania użytkownika o ponowne uruchomienie systemu (jeśli jest wymagane), użyj końcowej strony nowoczesnego interfejsu użytkownika lub użyj polecenia IfRebootFlag i stwórz swoją własną stronę z odpowiednim tekstem lub wyświetl odpowiedni komunikat.
libtype shared install localfile destfile tempbasedir
Typ biblioteki
Określenie czy biblioteka jest współdzielona z innymi aplikacjami
Określenie metody instalacji
Lokalizacja biblioteki w systemie kompilującego
Lokalizacja biblioteki w systemie użytkownika
Katalog w systemie użytkownika, do przechowywania pliku tymczasowego, podczas ponownego uruchamiania systemu.
Aby obsłużyć system Windows 9x/ME, katalog ten powinien być na tym samym dysku co plik docelowy (destfile). Katalog plików tymczasowych Windows może być ulokowany na dowolnym dysku, więc nie możesz użyć tego katalogu.
Przed wstawieniem makra InstallLib musisz zdefiniować poniższe definicje, aby określić jego zachowanie.
!insertmacro InstallLib REGDLL NOTSHARED REBOOT_NOTPROTECTED \
dllname.dll $SYSDIR\dllname.dll $SYSDIR
; Dodaj tutaj kod, który ustawi wartość niezerową zmiennej $ALREADY_INSTALLED, jeśli aplikacja ; jest już zainstalowana. Na przykład: IfFileExists "$INSTDIR\MójProgram.exe" 0 new_installation ; Zamień tę nazwę nazwą twojej aplikacji StrCpy $ALREADY_INSTALLED 1 new_installation: !insertmacro InstallLib REGDLL $ALREADY_INSTALLED REBOOT_NOTPROTECTED \ dllname.dll $SYSDIR\dllname.dll $SYSDIR
Makro UnInstallLib pozwala na deinstalację biblioteki. Ustawia flagę błędu, w razie wystąpienia jakiegoś błędu podczas usuwania biblioteki.
libtype shared uninstall file
Typ biblioteki
Określenie czy biblioteka jest współdzielona z innymi aplikacjami
Określenie metody deinstalacji
Lokalizacja biblioteki
Przed wstawieniem makra UnInstallLib musisz zdefiniować poniższe definicje, aby określić jego zachowanie.
Nowy plik nagłówkowy VB6RunTime.nsh dostępny jest do instalacji plików bibliotek uruchomieniowych VB6. Aby używać najnowszych plików uruchomieniowych, pobierz plik vb6runtime.zip i wyodrębnij go.
!include VB6RunTime.nsh Var AlreadyInstalled Section "-Instalacja bibliotek uruchomieniowych VB6" ; Dodaj tutaj kod, który ustawia zmienną $AlreadyInstalled na wartość niezerową, jeśli aplikacja jest już zainstalowana ; Na przykład: IfFileExists "$INSTDIR\MyApp.exe" 0 new_installation ; Zamień na nazwę twojej aplikacji StrCpy $AlreadyInstalled 1 new_installation: !insertmacro VB6RunTimeInstall C:\vb6runtimes $AlreadyInstalled ; Zamień ścieżkę 'C:\vb6runtimes' ścieżką z lokalizacją plików SectionEnd Section " -un.Deinstalacja bibliotek uruchomieniowych VB6" !insertmacro VB6RunTimeUnInstall SectionEnd
Uwagi: