【问题标题】:Install Shield msi file installing to the wrong directory (error 1309)将 Shield msi 文件安装到错误的目录(错误 1309)
【发布时间】:2013-12-06 22:07:10
【问题描述】:

我正在使用 Visual Studio 2013/ISLE 创建一个带有 .msi 安装映像的 C# 程序。当我从 VS 运行 install 时,程序安装在预期的位置,例如c:/程序文件 (x86)/...

我确信这很简单,但我无法弄清楚。一个指针将不胜感激。

【问题讨论】:

  • 问题是什么?
  • 我不明白您是安装在预期的位置(正文)还是错误的目录(标题)

标签: c# visual-studio-2010 installshield


【解决方案1】:

当您在 x 64 位系统中运行 32 位安装程序时,Windows 将总是将您的安装程序重定向到 c:\Program Filesc:\program files (x86)。如果要安装到非 x86 文件夹,则需要为您的应用程序提供 64 位安装程序。

这个blog post explains why Windows does this

看起来像InstallShield LE will allow you to write to the correct folder when your project is set to AnyCPU,但对于更高级的场景,您需要使用专业版或free Wix installer

【讨论】:

    【解决方案2】:

    我认为问题是为什么安装 MSI 在您在 Visual Studio 之外运行时会失败,但在 VS 启动时可以正常工作?

    如果是,您应该首先检查您的 ISLE 项目是否正在创建 MSI 或 EXE 引导程序(也包含 MSI)。如果创建了 EXE,这就是您应该手动启动的,而不是 MSI。理论上,引导程序可以充当 MSI 的初始化支持,并为某些属性(如安装文件夹等)指定默认值...

    我说理论上是因为我对 ISLE 不是很熟悉,我使用其他设置创作工具,因此不能确定这是否也代表 ISE 项目。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-14
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多