在Windows 7 X64上使用distutils将数据文件安装到%APPDATA%

6
我的设置程序使用Distutils在Windows XP上运行得非常完美,但在Windows 7上不起作用。以下是具体情况:
我的软件包有很多配置文件,我将它们安装到%APPDATA%中。在Windows上,我使用bdist_wininst选项运行setup.py来创建一个安装程序。在Win7上,管理员以管理员身份运行安装程序,以便可以将模块安装到%PROGRAMFILES%\Python等位置。安装没有报告任何错误,但正如您可能猜到的那样,配置文件没有被安装到%APPDATA%或其他任何位置(我搜索过它们)。
如果我使用安装选项直接打开Admin cmd安装我的软件包(setup.py install),则所有内容都能正常工作。
那么,我漏掉了什么?这是图形化安装程序的限制还是我做错了什么?

3
不算完全回答,但我建议使用诸如NSIS之类的工具来创建安装程序。我早就放弃了bdist_wininst,因为它的限制太多了。NSIS很容易使用,并且功能更加强大。 - aquavitae
我现在正在使用NSIS,它非常好。但是我认为必须/应该有一种本地解决方案。 - ifschleife
1个回答

1

您可以使用类似*nix上的常见解决方案。将配置文件安装到%PROGRAMFILES%,并在程序检测到特定用户第一次运行程序时将其复制到%APPDATA%(可以通过检查配置文件是否丢失来检测)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接