我的软件产品有一个使用 Installshield 创建的安装包。
软件产品必须指向文件路径才能访问特定于其安装站点的文件。此文件路径存储在注册表中。
到目前为止,我不得不修改每个客户端的安装包,以便注册表设置指向特定于该客户端的文件路径。
我希望我的安装包是这样的,当客户端收到它时,他们可以自己配置包,以便在安装时将客户端特定的设置写入注册表。
实现这一目标的最佳方法是什么?有没有一种简单的方法可以使用 Installshield 或 MSI 参数来执行此操作?
我的软件产品有一个使用 Installshield 创建的安装包。
软件产品必须指向文件路径才能访问特定于其安装站点的文件。此文件路径存储在注册表中。
到目前为止,我不得不修改每个客户端的安装包,以便注册表设置指向特定于该客户端的文件路径。
我希望我的安装包是这样的,当客户端收到它时,他们可以自己配置包,以便在安装时将客户端特定的设置写入注册表。
实现这一目标的最佳方法是什么?有没有一种简单的方法可以使用 Installshield 或 MSI 参数来执行此操作?
您需要使用安全自定义属性(CAPS 中并在 SecureCustomProperties 属性中列出的属性),然后在注册表中使用它来设置值。
例子
msiexec /I foo.msi SECUREPROPERTY=somevalue
然后在注册表中引用如下值:
[安全财产]
您还需要做一些自定义 UI 工作,以允许用户在交互运行时输入值。您可能还需要一些输入验证。最后,您需要了解属性不会为后续安装保留,因此您需要使用系统搜索 (AppSearch/RegLocator) 将属性拉回,以免在维修和升级过程中被清除.
一旦你做了几次,这并不难,但它有很多要描述的。