windows-installer - 如果为 msiexec TARGETDIR 属性设置的文件夹被永久删除,我该如何安装补丁
问题描述
我创建了一个静默安装批处理脚本,以一步安装 msi 和 msp,如下所示
for /r %%i in (*.msi) do set msifile=%%i
for /r %%i in (*.msp) do set mspfile=%%i
msiexec /a "%msifile%" TARGETDIR="%programdata%\FOLDER" /qn
cd %programdata%\AC72AIP
for /r %%i in (*.msi) do set msifile=%%i
msiexec /a "%msifile%" /p "%mspfile%" /qn :: This creates AIP in the C:\ProgramData\FOLDER
msiexec /i "%msifile%" /qn :: This command installs the AIP from C:\ProgramData\FOLDER
cd C:\
rmdir /Q /S %programdata%\FOLDER
msifile 是installer.msi,mspfile 是patch1.msp。
现在,当我尝试手动应用 patch2.msp 时,我得到一个窗口,询问源 msi 并显示以下消息
“安装的产品与安装源不匹配。在提供匹配的源或安装的产品与源同步之前,无法执行此操作。”
由于%programdata%\FOLDER
已删除,我无法找到实际来源。我已经尝试了 msiexec 命令的所有选项,但找不到此错误的解决方案。有人可以建议如何在不重新安装产品的情况下安装第二个补丁(patch2.msp)。
解决方案
推荐阅读
- java - 如何使用 try 块中声明的变量?
- javascript - 如何通过单击或悬停在 wordpress 帖子上为特定文本/单词播放特定声音?
- bokeh - 在散景中插入标签
- c# - 从 viewcell 内的图像中访问来自 tapgesture 的列表数据
- jenkins - 如何使用 groovy 在声明式詹金斯管道中填充环境变量
- networking - RTI Connext DDS 和 ROS2 之间的通信
- excel - VBA 另存为 CSV 文件被第一张表覆盖
- javascript - 如何使用 JSS 覆盖类
- java - 找不到文件夹位置 (java.lang.IllegalStateException)
- hadoop - 为什么映射器和减速器分配在 hive tez 上?