我有一个基本的MSI项目,可以将一些dll安装到位置"C:\Program Files (x86)\CompanyA\Service"
。文件夹访问权限限制对标准帐户(非管理员)的访问。现在我使用标准帐户启动应用程序,该帐户不使用上述位置中的DLL。但由于InstallShield的弹性功能,它会尝试检查组件。由于上面的组件不可访问,它启动自修复过程,显示一个对话框“请等待Windows配置ProductA”。
是否有任何选项可以关闭此弹性功能?或者有没有办法隐藏重新安装对话框?
如果我们针对上述问题有任何其他解决方案,请提出建议。
答案 0 :(得分:0)
您可以在组件上设置安装条件以验证Privileged
属性,而不是在计算机上安装这些特定组件。这样安装程序就不会认为它缺少部件。
您可以将其安装在您有权使用的其他位置。
MSI 5.0具有制作双用途软件包的功能,可以作为用户或管理员安装。
您还可以将dll部署为支持文件,并通过批处理文件进行复制。 (不是最佳做法,但它可以奏效)