NSIS识别多个卸载程序

时间:2011-03-29 15:45:22

标签: nsis uninstall

我有一个程序的多个实例,每个实例都有自己的安装目录,并带有自己的卸载程序副本。安装程序有一个由用户输入的名为“$ instance”的字段,该字段记录在注册表中,如下所示:

HKLM“SOFTWARE \ @ vendor.name @ \ @ product.name @@ product.version @ \ installs \ $ instance”

工作正常。此密钥包含安装的根路径。

我想卸载与执行的卸载程序对应的程序实例,但是卸载部分不保留用户在安装时输入的变量“$ instance”。

有什么想法吗?

示例:

Section Uninstall
    ; THIS does not display the instance name. :(
    MessageBox MB_OK "$instance"
SectionEnd

1 个答案:

答案 0 :(得分:3)

您可以将custom data存储在uninstaller.exe的末尾,而不会破坏CRC检查,或者将其存储在与卸载程序相同的目录中的.ini中(我一直这样做,只是名称ini文件“uninstaller.dat”或类似的东西,所以用户不要乱用它)