在“添加/删除程序”条目中将INSTALLDIR添加到“产品名称”

时间:2014-09-12 20:11:03

标签: installshield

我在InstallShield中创建了一个Installscript MSI项目。我希望能够在安装我的应用程序时将安装目录附加到添加/删除程序程序和功能)条目。此应用程序可以在工作站上多次安装到不同的文件夹位置,因此我想在添加/删除程序中以某种方式将它们可视地分开。

目前,我的产品的添加/删除程序条目如下所示:

  

我的申请名称

我希望它看起来像这样:

  

我的应用程序名称 - 我的应用程序安装文件夹(由[INSTALLDIR]替换)

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我不相信基于注册表项值及其来源的支持方式:

http://msdn.microsoft.com/en-us/library/aa372105(v=vs.85).aspx

用于显示数据,以及MSI ProductName属性是固定文本的事实,我认为您在安装开始后无法更改。您可以通过简单地使用一些脚本或自定义操作将ProductName属性设置为[ProductName]加上[INSTALLDIR]来测试。

因此,您必须自己更新卸载注册表数据中的该注册表项。在安装的最后,当条目通过附加INSTALLDIR值时,使用自定义操作代码修改它们。

这不是人们对MSI设置所做的事情,我不推荐它。该值可能会溢出字段长度,因为ProductName限制为63个字符。

如果问题是可能有多个卸载条目,并且您想验证用户是否正在卸载正确的用户,那么您可以添加一些对话框,以便在某处保存该安装位置时以某种方式显示实际版本。 ARPNOREMOVE属性将阻止直接卸载,然后您可以强制“修改”对话框执行“更改”,然后单击“卸载”以获取更多详细信息。一般的想法在这里:

http://devdare.blogspot.com/2012/10/how-to-force-gui-uninstall-using.html