我使用python创建一个使用pywin32
和cx_freeze
的Windows服务来分发它。我冻结到MSI以允许在用户选择的任何目录中安装程序。我遇到的问题是,当服务管理器安装服务时,进程执行时工作目录为%WinDir%\System32
这会导致问题,因为服务从安装目录中的ini文件中获取一些配置信息。没有定义的绝对路径。
安装服务时有没有办法将安装目录传递给我的应用程序?或者是否有更好的方法来摄取配置文件而无需绝对路径定义?
答案 0 :(得分:0)
我能够从Windows注册表中识别安装目录。安装服务时,可执行文件的路径在Windows注册表中注册:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\