如果我的系统上安装了产品,那么同一产品的重新安装(msiexec / i REINSTALLMODE = vamus REINSTALL = ALL)与正常安装(msiexec / i)有何不同?基本上我想知道,如果系统上已经安装了产品,那么我使用“ msiexec / i”将会是什么行为。
其次,如果msiFile具有产品和升级代码相同的较新版本号(即次要升级),将会发生什么情况?
谢谢,库纳尔
我不确定,您真正了解哪些细节,哪些不是。就像PhilDW提到的,“重新安装”中的“ a ”是非常危险的,主要是错误的,对于REINSTALLMODE来说是一个选择,它比标准命令行更适合专家的特殊用法。确切的原因是,特别是对于版本控制的文件,您将用msi中可能较小的版本(例如,文件版本为1.0.0.0的同一文件)覆盖现有的较高版本的文件(例如2.0.0.0)。通常,这不是您想要的,并且可以推荐。
在此设置中,您可以执行的错误更严重,更讨厌。例如,您可能会用这样的东西破坏任何第三方共享组件,而这些东西最终需要在整个Windows中重新安装以供某些客户使用!
例如,使用“ v e mus”进行类似修复的重新安装,尤其是文件版本1.0.0.0将覆盖1.0.0.0(对于REINSTALLMODE =“ vomus”则不会)。
正如Christoph所说,一切都取决于您的特殊用例。我的变体仅包含两个最重要的变体,即“ vemus”和“ vomus”。
-其次,MSI版本号或不同的更新类型与REINSTALLMODE参数并没有真正的关系,第一个与整个msi设置有关,但是REINSTALLMODE在逐个文件(注册表项)级别上更深层次地工作。
-第三,由于文件级别的原因,REINSTALLMODE对于初次安装具有重要的作用,几乎相同,仅在初次安装时始终放弃“ v”(例如msiexec /i mysetup.msi REINSTALLMODE="emus"
)。这个故事,什么时候确切地使用“ v”,什么时候不使用“ v”,所以这两个主要情况在这里应该足够了。
包含在内,REINSTALLMODE在文件级别上工作,除了“ v”外,与安装方案没有太大关系。REINSTALL完全不同。正如PhilDW所提到的,它用于“小型/小型”更新/等级类型(也用于维修,这可能使它有些混乱。实际上,维修和小型/小型升级在技术上在文件上大致相同等级)。
这些小型/次要类型有一些陷阱,如果您确定知道自己在做什么,请仅使用它。对于初学者到中级设置作者,“主要升级”可能更易于使用。或始终在“更新”之前卸载,那么您只需要掌握一个方案:首先安装。
要修复或重新安装相同的MSI文件,请使用以下默认行:
msiexec /i "c:\mysrc\mysetup.msi" REINSTALL=ALL REINSTALLMODE="vemus"
(此处省略了记录参数)HT详细信息有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句