1

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

谢谢!

4

2 回答 2

0

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

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

于 2012-10-15T20:30:30.717 回答
0

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

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

于 2012-10-13T02:39:40.477 回答