Windows installer 安装特定于用户的产品?

Windows installer 安装特定于用户的产品?,windows-installer,installshield,Windows Installer,Installshield,我们已经有了一个现有的InstallShield InstallScript MSI安装项目,我们正在尝试对其进行修改,以便我们可以为客户提供一个安装,该安装将仅与他们的特定序列号一起使用,以便与我们新的自动检查更新功能一起使用。我们已经有了一种机制,可以在安装时评估客户的序列号和其他希望仍能使用的凭据。现在,我最好的办法是散列或以其他方式混淆文件中的用户凭据,并将该文件插入安装程序包(MSI、CAB文件、InstallShield特定文件等)的zip中,安装程序可以在运行时使用这些文件。然而,

我们已经有了一个现有的InstallShield InstallScript MSI安装项目,我们正在尝试对其进行修改,以便我们可以为客户提供一个安装,该安装将仅与他们的特定序列号一起使用,以便与我们新的自动检查更新功能一起使用。我们已经有了一种机制,可以在安装时评估客户的序列号和其他希望仍能使用的凭据。现在,我最好的办法是散列或以其他方式混淆文件中的用户凭据,并将该文件插入安装程序包(MSI、CAB文件、InstallShield特定文件等)的zip中,安装程序可以在运行时使用这些文件。然而,对我来说,这似乎相当愚蠢。有没有更好的方法实现同样的目标

编辑:
因此,我们最终要做的是加密此安装仅适用于的凭据集,然后将其包含在分发的更新安装程序中。然后,安装程序将取消对凭据的加密,以便在安装过程中使用,这样我们可以检查尝试安装软件的用户是否就是我们要安装软件的用户。

您到底想要什么还不清楚。使用更新命令行以向Windows Installer传递一些额外属性可能会满足您的所有需要

相反,如果你想让它更安全,Windows Installer使用完全开放的格式很难阻止狡猾的最终用户访问它携带的文件。您可以使以正常方式安装某些功能变得困难,甚至阻止序列号检查的执行,但仍然可以手动提取文件


正因为如此,或者可能是因为销售InstallShield的公司也销售产品许可解决方案,他们倾向于建议在应用程序中使用许可,作为大多数解决方案的替代方案。

当用户检查我们的网站以获取我们软件的更新版本时,他们会提供他们的许可证凭据,我们希望他们下载的安装程序只在用户首先输入用于检查更新的凭据时安装我们的软件,而不是在野外输入的任何有效凭据集。(不要问为什么,我只是照管理层的话做…-/)我们已经有了一个许可系统,所以InstallShield解决方案很不幸地被取消了。谢谢关于setupini.exe的提示(顺便说一句:-)好的,那么我认为在这些范围内,在不显著增加实现难度的情况下,我建议使用setupini.exe。请注意,它是不可穿透的,并且考虑是否存在日志文件,仔细考虑是否将证书或散列凭据传递到MSI中。如果您使用了数字签名,请不要忘记更新数字签名。(是的,在这种情况下,除非不同的人收到真正不同的比特,否则我更愿意问为什么。
:)
)我将此标记为我问题的答案,因为即使这不是我最后要做的,建议仍然是可靠的。