goa*_*e35 4 windows-installer setup-project
我的老板需要一个安装程序来将软件安装到我们客户的一台机器上.他希望将软件专门安装到"C:\ Program Files\HisApplicationName"中,而不是"C:\ Program Files(x86)\ HisApplicationName".我知道正确的答案是重写软件以容纳用户选择安装的任何目录,但不幸的是,这是非常旧的软件,需要明天安装,所以我们只想强制安装程序指向客户端"Program Files"目录.
我的问题是,当我将文件路径硬编码到安装程序的"DefaultLocation"属性时,安装程序仍然会尝试指向Program Files(x86)目录.
有没有办法强制Windows安装程序/安装程序包指向程序文件而不是"程序文件(x86)"?
谢谢.
Chr*_*ter 15
除了一个不受支持的颠覆性黑客攻击之外,Windows Installer无法简单地要求您执行此操作.
设置INSTALLDIR为C:\Progra~1\.....
参见,MSI具有用于向后兼容的功能,自动地"修复"的任何硬编码引用C:\Program Files\到C:\Program Files (X86)当MSI被标记为32位.它无法计算短名称版本并重定向它,所以我的黑客工作.假设他们没有禁用短文件名系统.
安装到的唯一正确方法C:\Program Files是将MSI标记为64位并使用ProgramFiles64Folder属性而不是ProgramFilesFolder属性.
顺便说一句,如果你的老板不相信你,那么我建议找一个新老板.我已经写了16年的安装程序,我从不让PHB做出这样的决定.我是Windows Installer专家,而不是他.