Msbuild 什么会导致MSIExec错误1619';无法打开此安装包';
我正试图从一组示例程序中自动安装和卸载一组MSI文件(由WiX生成)。出于某种原因,双击即可安装的.MSI文件会生成: 无法打开此安装包。请验证该软件包是否存在以及您是否可以访问它,或者与应用程序供应商联系以验证这是一个有效的Windows Installer软件包 当我用MSIEXEC以以下方式调用它时:Msbuild 什么会导致MSIExec错误1619';无法打开此安装包';,msbuild,wix,windows-installer,acceptance-testing,Msbuild,Wix,Windows Installer,Acceptance Testing,我正试图从一组示例程序中自动安装和卸载一组MSI文件(由WiX生成)。出于某种原因,双击即可安装的.MSI文件会生成: 无法打开此安装包。请验证该软件包是否存在以及您是否可以访问它,或者与应用程序供应商联系以验证这是一个有效的Windows Installer软件包 当我用MSIEXEC以以下方式调用它时: <ItemGroup> <_SampleMsi Include="$(_ArtifactsPathAcceptanceSamples)\**\*.msi" />
<ItemGroup>
<_SampleMsi Include="$(_ArtifactsPathAcceptanceSamples)\**\*.msi" />
</ItemGroup>
<Exec Command="$(WixDir)\smoke "%(_SampleMsi.Identity)""/>
<!--Guarantee precondition even if cleanup didn't work-->
<Exec Command="msiexec -passive -norestart -x "%(_SampleMsi.Identity)"" IgnoreExitCode="true" />
<Exec Command="msiexec -norestart -i "%(_SampleMsi.Identity)"" />
<!--Uninstall of every sample should also always work-->
<Exec Command="msiexec -passive -norestart -x "%(_SampleMsi.Identity)"" />
有什么好处
msiexec/?
没有告诉您或显示给您,您也知道GUID上有大括号
i、 e.您需要将FC7445BB-7E1D-4E36-A42A-CFA56263E453
替换为{FC7445BB-7E1D-4E36-A42A-CFA56263E453}
(我已停止信任/读取输出,并考虑GUID可能解析为msiexec不满意的缓存MSI,原因与它似乎不满意安装语法相同,这是本空间中所有KB文章都倾向于讨论的。)FullPath
替换上面的Identity
来修复它
另一种补救办法是刚刚删除了
\
准备结束文件名,它成功了。看起来你在发布问题之后就开始键入自己问题的答案:-)@Yansklayarenko是的,你抓到我了:D要么把它贴在这里,要么把它贴在内部维基上。我觉得难以置信的是,msiexec洞穴探险的信息如此之少。似乎所有那些“显而易见”的疑难解答都存在于少数安装专家的脑海中…msiexec/i.\MyFile.msi
不起作用,因为.\idi*t在微软写了这个程序?@Haipan也许你可以通过只传递文件名,然后将路径放入Exec
的WorkingDirectory
中来解决这个问题,这样你就可以处理这个问题了?哦,我只是在抱怨,呵呵msiexec/i MyFile.msi
工作正常。但是我使用了tab completion,它会自动添加。\n奇怪-这也解决了我的问题
msiexec -passive -norestart -x FC7445BB-7E1D-4E36-A42A-CFA56263E453