Library.nsi 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. # This example tests the compile time aspect of the Library macros
  2. # more than the runtime aspect. It is more of a syntax example,
  3. # rather than a usage example.
  4. !include "Library.nsh"
  5. Name "Library Test"
  6. OutFile "Library Test.exe"
  7. InstallDir "$TEMP\Library Test"
  8. Page directory
  9. Page instfiles
  10. XPStyle on
  11. RequestExecutionLevel user
  12. !define TestDLL '"${NSISDIR}\Plugins\x86-unicode\LangDLL.dll"'
  13. !define TestEXE '"${NSISDIR}\Contrib\UIs\default.exe"'
  14. Section
  15. !insertmacro InstallLib DLL NOTSHARED REBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  16. !insertmacro InstallLib DLL NOTSHARED NOREBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  17. !insertmacro InstallLib DLL NOTSHARED REBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  18. !insertmacro InstallLib DLL NOTSHARED NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  19. !insertmacro InstallLib REGDLL NOTSHARED REBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  20. !insertmacro InstallLib REGDLL NOTSHARED NOREBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  21. !insertmacro InstallLib REGDLL NOTSHARED REBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  22. !insertmacro InstallLib REGDLL NOTSHARED NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  23. !insertmacro InstallLib TLB NOTSHARED REBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  24. !insertmacro InstallLib TLB NOTSHARED NOREBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  25. !insertmacro InstallLib TLB NOTSHARED REBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  26. !insertmacro InstallLib TLB NOTSHARED NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  27. !insertmacro InstallLib REGDLLTLB NOTSHARED REBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  28. !insertmacro InstallLib REGDLLTLB NOTSHARED NOREBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  29. !insertmacro InstallLib REGDLLTLB NOTSHARED REBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  30. !insertmacro InstallLib REGDLLTLB NOTSHARED NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  31. !insertmacro InstallLib DLL $0 REBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  32. !insertmacro InstallLib DLL $0 NOREBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  33. !insertmacro InstallLib DLL $0 REBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  34. !insertmacro InstallLib DLL $0 NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  35. !insertmacro InstallLib REGDLL $0 REBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  36. !insertmacro InstallLib REGDLL $0 NOREBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  37. !insertmacro InstallLib REGDLL $0 REBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  38. !insertmacro InstallLib REGDLL $0 NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  39. !insertmacro InstallLib TLB $0 REBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  40. !insertmacro InstallLib TLB $0 NOREBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  41. !insertmacro InstallLib TLB $0 REBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  42. !insertmacro InstallLib TLB $0 NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  43. !insertmacro InstallLib REGDLLTLB $0 REBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  44. !insertmacro InstallLib REGDLLTLB $0 NOREBOOT_PROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  45. !insertmacro InstallLib REGDLLTLB $0 REBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  46. !insertmacro InstallLib REGDLLTLB $0 NOREBOOT_NOTPROTECTED ${TestDLL} $INSTDIR\test.dll $INSTDIR
  47. !insertmacro InstallLib REGEXE $0 REBOOT_PROTECTED ${TestEXE} $INSTDIR\test.exe $INSTDIR
  48. !insertmacro InstallLib REGEXE $0 NOREBOOT_PROTECTED ${TestEXE} $INSTDIR\test.exe $INSTDIR
  49. !insertmacro InstallLib REGEXE $0 REBOOT_NOTPROTECTED ${TestEXE} $INSTDIR\test.exe $INSTDIR
  50. !insertmacro InstallLib REGEXE $0 NOREBOOT_NOTPROTECTED ${TestEXE} $INSTDIR\test.exe $INSTDIR
  51. WriteUninstaller $INSTDIR\uninstall.exe
  52. SectionEnd
  53. Section uninstall
  54. !insertmacro UninstallLib DLL NOTSHARED NOREMOVE $INSTDIR\test.dll
  55. !insertmacro UninstallLib DLL NOTSHARED REBOOT_PROTECTED $INSTDIR\test.dll
  56. !insertmacro UninstallLib DLL NOTSHARED NOREBOOT_PROTECTED $INSTDIR\test.dll
  57. !insertmacro UninstallLib DLL NOTSHARED REBOOT_NOTPROTECTED $INSTDIR\test.dll
  58. !insertmacro UninstallLib DLL NOTSHARED NOREBOOT_NOTPROTECTED $INSTDIR\test.dll
  59. !insertmacro UninstallLib REGDLL NOTSHARED NOREMOVE $INSTDIR\test.dll
  60. !insertmacro UninstallLib REGDLL NOTSHARED REBOOT_PROTECTED $INSTDIR\test.dll
  61. !insertmacro UninstallLib REGDLL NOTSHARED NOREBOOT_PROTECTED $INSTDIR\test.dll
  62. !insertmacro UninstallLib REGDLL NOTSHARED REBOOT_NOTPROTECTED $INSTDIR\test.dll
  63. !insertmacro UninstallLib REGDLL NOTSHARED NOREBOOT_NOTPROTECTED $INSTDIR\test.dll
  64. !insertmacro UninstallLib TLB NOTSHARED NOREMOVE $INSTDIR\test.dll
  65. !insertmacro UninstallLib TLB NOTSHARED REBOOT_PROTECTED $INSTDIR\test.dll
  66. !insertmacro UninstallLib TLB NOTSHARED NOREBOOT_PROTECTED $INSTDIR\test.dll
  67. !insertmacro UninstallLib TLB NOTSHARED REBOOT_NOTPROTECTED $INSTDIR\test.dll
  68. !insertmacro UninstallLib TLB NOTSHARED NOREBOOT_NOTPROTECTED $INSTDIR\test.dll
  69. !insertmacro UninstallLib REGDLLTLB NOTSHARED NOREMOVE $INSTDIR\test.dll
  70. !insertmacro UninstallLib REGDLLTLB NOTSHARED REBOOT_PROTECTED $INSTDIR\test.dll
  71. !insertmacro UninstallLib REGDLLTLB NOTSHARED NOREBOOT_PROTECTED $INSTDIR\test.dll
  72. !insertmacro UninstallLib REGDLLTLB NOTSHARED REBOOT_NOTPROTECTED $INSTDIR\test.dll
  73. !insertmacro UninstallLib REGDLLTLB NOTSHARED NOREBOOT_NOTPROTECTED $INSTDIR\test.dll
  74. !insertmacro UninstallLib DLL SHARED NOREMOVE $INSTDIR\test.dll
  75. !insertmacro UninstallLib DLL SHARED REBOOT_PROTECTED $INSTDIR\test.dll
  76. !insertmacro UninstallLib DLL SHARED NOREBOOT_PROTECTED $INSTDIR\test.dll
  77. !insertmacro UninstallLib DLL SHARED REBOOT_NOTPROTECTED $INSTDIR\test.dll
  78. !insertmacro UninstallLib DLL SHARED NOREBOOT_NOTPROTECTED $INSTDIR\test.dll
  79. !insertmacro UninstallLib REGDLL SHARED NOREMOVE $INSTDIR\test.dll
  80. !insertmacro UninstallLib REGDLL SHARED REBOOT_PROTECTED $INSTDIR\test.dll
  81. !insertmacro UninstallLib REGDLL SHARED NOREBOOT_PROTECTED $INSTDIR\test.dll
  82. !insertmacro UninstallLib REGDLL SHARED REBOOT_NOTPROTECTED $INSTDIR\test.dll
  83. !insertmacro UninstallLib REGDLL SHARED NOREBOOT_NOTPROTECTED $INSTDIR\test.dll
  84. !insertmacro UninstallLib TLB SHARED NOREMOVE $INSTDIR\test.dll
  85. !insertmacro UninstallLib TLB SHARED REBOOT_PROTECTED $INSTDIR\test.dll
  86. !insertmacro UninstallLib TLB SHARED NOREBOOT_PROTECTED $INSTDIR\test.dll
  87. !insertmacro UninstallLib TLB SHARED REBOOT_NOTPROTECTED $INSTDIR\test.dll
  88. !insertmacro UninstallLib TLB SHARED NOREBOOT_NOTPROTECTED $INSTDIR\test.dll
  89. !insertmacro UninstallLib REGDLLTLB SHARED NOREMOVE $INSTDIR\test.dll
  90. !insertmacro UninstallLib REGDLLTLB SHARED REBOOT_PROTECTED $INSTDIR\test.dll
  91. !insertmacro UninstallLib REGDLLTLB SHARED NOREBOOT_PROTECTED $INSTDIR\test.dll
  92. !insertmacro UninstallLib REGDLLTLB SHARED REBOOT_NOTPROTECTED $INSTDIR\test.dll
  93. !insertmacro UninstallLib REGDLLTLB SHARED NOREBOOT_NOTPROTECTED $INSTDIR\test.dll
  94. !insertmacro UninstallLib REGEXE SHARED NOREMOVE $INSTDIR\test.exe
  95. !insertmacro UninstallLib REGEXE SHARED REBOOT_PROTECTED $INSTDIR\test.exe
  96. !insertmacro UninstallLib REGEXE SHARED NOREBOOT_PROTECTED $INSTDIR\test.exe
  97. !insertmacro UninstallLib REGEXE SHARED REBOOT_NOTPROTECTED $INSTDIR\test.exe
  98. !insertmacro UninstallLib REGEXE SHARED NOREBOOT_NOTPROTECTED $INSTDIR\test.exe
  99. SectionEnd