Wix安装程序的exe文件“应用无法在您的计算机上运行”

10
在VS2012中,我创建了一个Wix3.6应用程序安装项目。在属性选项卡上,安装程序输出类型设置为可执行包(.exe)。该安装项目成功编译并生成了一个.exe文件。
双击.exe文件会显示以下消息:

此应用无法运行在您的PC上。

以管理员身份运行.exe并授权后,计算机会显示:

Windows无法找到'C:\abc\xyz.exe'。请确保您输入的名称正确,然后重试。

通过谷歌搜索可以发现该错误消息与计算机架构有关。
事实如下:
  • 计算机为Windows 8,64位。
  • 安装项目设置为x86平台。
  • 同一安装项目生成有效的x86 .msi。
是否有关于不正确的设置、引用或配置需要查看的想法?

应用程序存储在机器的哪个位置?您能否在VS2012中以调试或运行模式运行.exe文件?您能否手动使用Windows资源管理器查找.exe文件?从您最后一行所说的,我看到您提到相同的.msi作为x86应用程序工作,听起来像是兼容性问题,您是否考虑过如何为64位操作系统/平台创建.msi文件?是否有任何.config文件设置需要通知安装程序它不是Win32应用程序而是Win64位应用程序? - MethodMan
它不在C:\上,而是在另一个分区上。我不能从VS2012运行.exe文件——没有调试选项。我手动找到.exe文件以运行它。我尝试创建一个64位的msi,但通过更改安装程序构建的配置平台,我无法让它工作。我不知道有什么需要告知安装程序它的位数信息。=/ - colbybhearn
你尝试过Google搜索吗?我在Google中找到了一些链接C# create msi vs2012 - MethodMan
http://qa.social.msdn.microsoft.com/Forums/en-US/vssetup/thread/6c94671d-dea0-46e0-94ee-06e5ddbe5b83 - MethodMan
你可以尝试手动运行它,命令如下:msiexec YourInstaller.msi - MethodMan
谢谢!我会试一下。 - colbybhearn
1个回答

11

可能有点晚,但我自己也遇到了这个问题,以下是我的解决方法。

基本上,这种情况可以通过尝试在项目设置中将WIX安装程序的输出从“MSI”更改为“EXE”来创建。 WIX安装程序只能从其Product.wxs生成MSI。 WIX生成的EXE实际上是通过引导程序项目创建的,包含Bundle.wxs,然后可以将您的MSI(s)内部捆绑到引导的EXE中。

因此,要解决这个问题,请将您的设置项目更改回MSI输出,然后创建一个额外的引导程序项目(具有EXE输出),并将设置项目中的构建MSI输出添加到Bundle XML的“链式软件包”部分中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接