安装程序错误1334

时间:2013-08-06 17:07:33

标签: wix msiexec

我有一个应用程序A,我为其创建了一个安装程序A1。这已经使用了好几个月。

我们现在意识到人工智能用来打包一些不需要的文件 - d1,d2,d3。

因此我们将它们从我们的项目中删除并创建了一个安装程序A2,它不包装上述不需要的文件。 (至少这就是我们的期望)

当我以通常的方式使用此安装程序时,一切正常......但是当我使用它进行静默安装时,我收到以下错误:

错误1334.无法安装文件d1,因为在cabinet文件'myMedia1.cab'中找不到该文件。这可能表示网络错误,从CD-ROM读取错误或此程序包有问题。

我用Google搜索了一下,看到人们通常会遇到这样的问题,即发布一个补丁或一些安装程序版本,其中一些文件被删除或移动。

显然,msiexec尝试引用这些变量的某些缓存版本,因为它仍然在新安装程序中查找丢失的文件,安装失败。

有没有办法解决这个问题? - 像某些方法让msiexec只使用我在输入中提供的.msi文件而不是某些缓存版本。

...谢谢

2 个答案:

答案 0 :(得分:0)

如果您没有更新A2安装程序的PackageCode,ProductCode或UpgradeCode,听起来您可能会收到此错误。如果安装了A1,然后A2使用相同的PackageCode,ProductCode和UpgradeCode运行,系统会认为您再次运行A1安装程序,并将在C:\ windows \ installer下查找缓存的A1 msi。

答案 1 :(得分:0)

对于在构建安装程序项目时遇到相同问题(Error 1334)且没有找到任何解释或解决方案的其他人,这里有个线程可以解决我的问题:

https://www.itninja.com/question/1334-error-tried-just-about-everything-i-can-think-of-anyone-know-of-some-obscure-causes

基本上,解决该问题的方法是“触摸”安装程序项目中引用的所有文件(即所有依赖项-DLL和所有其他文件)。您可以在构建输出中找到所有文件的列表和路径,如下所示:

2>  Copying file from "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Threading.dll" to "C:\Path\To\Your\Project\bin\Debug\System.Threading.dll".

要“触摸”文件,可以使用this technique,也可以使用诸如Total Commander之类的第三方文件管理器。您只需要以管理员身份运行/接受UAC警告,因为某些文件位于系统文件夹中。



编辑:就我而言,安装项目的问题是在更新了主项目使用的某些NuGet软件包之后开始的。

P.S .:虽然我没有使用WiX,但是Microsoft Visual Studio Installer Projects的症状是相同的,所以我希望这个答案对某人有所帮助。