我在我的产品中使用Advanced Installer。作为安装的一部分,安装程序会安装我的产品运行所需的c ++可再发行组件。我的问题是如何防止用户在添加/删除程序中删除c ++可再发行组件安装?是否可以选择在安装程序安装的第三方产品上使用引用计数?
答案 0 :(得分:5)
您考虑过using merge modules to install your redistributables了吗?而不是单独的独立安装程序。这也得到了Advanced Installer的支持。
这可以防止它们出现在控制面板中,但它们也会与您的应用程序一起卸载。
答案 1 :(得分:0)
如果要阻止用户从“添加/删除”程序中删除可再发行的安装,请参阅MSDN文档:Configuring Add/Remove Programs with Windows Installer。您可以使用ARPSYSTEMCOMPONENT property来阻止可再发行组件显示在“控制面板”的“添加或删除程序”列表中。这应该隐藏可再发行的安装,但您仍然可以使用Windows Installer来安装,卸载,修复和重新安装应用程序。如果用户卸载了您的应用程序,则应将其设计为还卸载可再发行组件。使用并发安装的建议替代方法是使用安装应用程序和外部UI处理程序按顺序安装多个Windows Installer程序包。
但请注意,Microsoft recommends没有人使用concurrent installations来安装或更新送货产品。并发安装操作在当前运行的安装期间安装另一个Windows Installer程序包。