【问题标题】:Windows Installer ability to place short-cut with different URIsWindows Installer 能够使用不同的 URI 放置快捷方式
【发布时间】:2023-03-26 14:41:02
【问题描述】:

我有一个 Windows 窗体应用程序,它使用 msi 文件通过活动目录安装在客户端 pc 上,应用程序是一个 32 位应用程序,它正在部署到 32 位和 64 位 Windows 系统,我们知道应用程序文件夹名称是在 32 位和 64 位系统、Program Files 和 Program Files(x86) 之间有所不同,在安装过程中,应用程序快捷方式也放置在启动文件夹中,因此应用程序将在我们启动 PC 时启动。 问题:是否有机会通过 Visual Studion 提供的 Windows Installer 构建 msi,这样它会检查它正在安装的操作系统,并将快捷方式放入具有正确 URI 的启动文件夹,到 Program Files\Applicaiton\还是 Program Files(x86)\Applicaiton?

谢谢!

【问题讨论】:

    标签: installation windows-installer


    【解决方案1】:

    Windows 安装程序包是平台感知的(x86、x64)。 Windows Installer 不支持在 32 位平台上运行的 64 位程序包或写入 64 位程序文件的 32 位程序包。

    您可以将您的 EXE 编译为 AnyCPU,即使它安装为 32 位,它也会以 64 位执行。尽管 Visual Studio 团队已经放弃了这一点,并在最新版本的 Visual Studio 中默认编译为 x86。

    【讨论】:

      【解决方案2】:

      在初始化时,Windows Installer 会收集有关操作系统的信息并自动设置可在安装应用程序使用的可选条件语句中使用的属性,例如VersionNT64 和“System Folder Properties

      如果安装程序需要知道此信息,则首选做法是允许 Windows Installer 服务确定文件夹位置,而不是尝试将此信息硬编码到包中。

      【讨论】:

      • 你是绝对正确的,问题是我没有尝试硬核将安装应用程序的文件夹,这是由安装程序处理的,我需要它的快捷方式并放置正确的 URI在启动文件夹中,对于 64 位和 32 位系统,此 URI 将不同。
      • 这个 SO 问题可能包含您的答案:msi install program as startup
      猜你喜欢
      • 1970-01-01
      • 2022-07-09
      • 2017-08-20
      • 1970-01-01
      • 2011-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多