我必须创建一个安装程序,将插件文件安装到现有程序的应用程序文件夹中。根据操作系统(winxp、win7、32、64),它可能位于各种位置。
例如 c:/program files/application c:/program files (x86)/application
我想知道实现这一目标的最佳方法是什么?
由于用户可以安装 32 位和 64 位版本的软件,因此他们可能需要选择要安装文件的版本。
我看过自解压 zip - 目前看来这是最好的 - 但用户必须输入其软件的路径
我也研究过 nsis 和批处理文件,但我不清楚如何检测哪种操作系统(适用于所有版本),以及如何以一致的方式查找用户已安装的程序,以提供用于选择安装文件路径的对话框。
如果有人知道直接的方法来做到这一点,我将非常感激。
干杯
柯
答案1
操作系统知道“c:/program files (x86)/”和“c:/program files”等路径。如果您将它们作为安装程序的一部分而不是依赖操作系统,则保证与未来 Windows 版本不兼容。您还保证与本地化版本的 Windows 不兼容(例如“c:/archivos de programa”、“c:/programme”、“c:/pliki programów”)。
每个安装程序软件(nsis、wix 和许多其他软件)都提供了一种向操作系统询问“program files”路径的方法。使用这种方法。请看这个例子:https://stackoverflow.com/questions/14089647/install-to-program-files-x86-on-64bit-host