维克斯:安装组件,同时修复或重新安装
问题:
我有一个用户需求中,如果前提条件的应用是用户机器上没有一个文件将无法安装。但是在安装我的产品后,当用户安装该先决条件应用程序时,他会运行我的安装程序并选择修复以安装缺少的文件及其相关的注册表项。维克斯:安装组件,同时修复或重新安装
我的期望:
我知道修复将只修复将已安装的第一个安装的那些文件。但是,这没有任何解决方法?
任何在这里和其他与AddLocal?
非常感谢你。
你的问题很混乱。
你有一个包含2个程序的应用程序。当我们运行安装程序时,它只安装程序1并且不安装程序2,因为prerequsite没有安装。
现在,当u安装必备现在ü希望当u再次运行安装程序,其中未设置该程序2应安装。
在安装程序上。有3个选项。添加删除功能,修复和卸载。您可以添加删除功能,并可以选择程序2并进行安装。
你需要让条件上的安装程序,如果没有预装-REQ程序2无法安装。所以当你尝试第一次安装,并选择程序2或完全安装它会告诉你,你不能安装这个,因为pre-req不在那里。它只会安装程序1,并在运行安装程序时会显示添加删除功能选项。
我希望你能得到答案。
您可以使用组件标签内的条件。例如:
<Component Id="RepairOrReinstallOnly" Guid="YourGUID" Transitive="yes">
<Condition>
INSTALLED AND (NOT UPGRADINGPRODUCTCODE)
</Condition>
...
</Component>
这种方式组件应该只安装在修理,修改和重新安装。
但它不会在第一次安装安装(安装是假的),或者如果你做了重大升级(UPGRADINGPRODUCTCODE是真的)。
我不觉得,因为当Windows安装程序缓存您的.msi,.cab文件被删除,这是可行的。这意味着除非用户保留原始安装程序,否则最初跳过的源文件将不可用。做出这样的假设有点过分。
我的建议是要么总是安装文件,或尝试让应用程序管理可选的文件(S)的部署。我发现,任何时候你尝试做非标准化的东西在安装程序中,它变得更加复杂而难以管理,而且更难以防止匍匐微妙的问题。