【发布时间】:2012-05-22 13:07:39
【问题描述】:
一个 NSIS 部分可以创建多个卸载程序吗?
我的安装程序可以为 3 个不同版本的应用程序安装插件 - 因此安装程序将安装文件的位置有 3 个不同的目录。
在每个目录中,我想添加一个卸载程序文件,该文件将仅删除该目录中的文件。
3 个卸载文件中的每一个都是在同一个 Section 区域中创建的,这是否无效?如何让我的脚本创建 3 个卸载程序(如果可能)?
以下部分仅创建一个卸载程序,最后一个(版本 10 卸载程序):
Section "Install Plugin Files" MainSetup
CheckInstallVers8:
IntCmp $installVers8 1 InstallVersion8 CheckInstallVers9 InstallVersion8
CheckInstallVers9:
IntCmp $installVers9 1 InstallVersion9 CheckInstallVers10 InstallVersion9
CheckInstallVers10:
IntCmp $installVers10 1 InstallVersion10 MainInstallation InstallVersion10
InstallVersion8:
# install plugins...
SetOutPath $VERS8DIR
writeUninstaller "${APPNAME} Uninstall.exe"
GoTo CheckInstallVers9
InstallVersion9:
SetOutPath $VERS9DIR
writeUninstaller "${APPNAME} Uninstall.exe"
GoTo CheckInstallVers10
InstallVersion10:
SetOutPath $VERS10DIR
writeUninstaller "${APPNAME} Uninstall.exe"
SectionEnd
【问题讨论】:
-
我使用 HW Edit 来启动我的 NSIS 脚本,不要引用我的话,但我确信你可以制作 3 个卸载程序,每个插件一个。您可以在此处下载它:hmne.sourceforge.net/ 通过向导步骤制作测试安装程序/卸载程序 - 然后您可以看到如何将 FULL 安装程序中的行剥离成 3 个单独的行。我会尝试进一步冒险并使用 NSIS UI 2 - 现代 GUI nsis.sourceforge.net/Docs/Modern%20UI/Readme.html 并在您的卸载程序中创建一个包含三个复选框的页面 - 每个复选框用于插件。如果您想了解更多信息,请告诉我?
标签: installation nsis