我正在为生物特征捕获应用程序建立一个安装项目。
问题是,要使其在用户PC上正常工作,我需要在Regedit中注册.exe路径。
我已经通过定位“ Program Files(x86)”文件夹来做到这一点,如下所示,但是在32位PC中它不存在,因此该应用程序将无法启动。
我怎样做才能使其在32位和64位体系结构上都能正常工作?
答案 0 :(得分:1)
MSI安装不需要注册可执行文件。
它只能将与application removal, etc相关的信息放入Windows注册表。
默认情况下,MSI安装程序会将所有文件放入单个根文件夹(例如,MS Office将放入“ C:\ Program Files \ Office”或类似的文件夹)。要配置目标安装文件夹,请使用TARGETDIR property。
TARGETDIR属性是在安装过程中计算的(此外,它可以被用户覆盖)。默认属性“ [ProgramFilesFolder]”是x86位置,但是随处可见。属性“ [ProgramFiles64Folder]”是您所需要的,但是仅在x64 OS上存在。
那么,您需要什么?
可能的this answer可以为您提供示例。
完成上述步骤后,应用程序将为x86 / x64操作系统选择普通的Program Files文件夹。
答案 1 :(得分:1)
几件事:
因此,如果您确实需要两个不同的版本,一个使用您的64位代码,另一个使用您的32位代码,则需要使用Visual Studio安装项目设置进行单独的MSI构建。 32位的一个主文件夹在“应用程序文件夹”目录的属性中为ProgramFilesFolder,而64位的一个主文件夹将使用ProgramFiles64Folder。