获取脚本的安装目录作为Windows服务执行

时间:2018-04-02 14:01:46

标签: python windows-services cx-freeze pywin32

我使用python创建一个使用pywin32cx_freeze的Windows服务来分发它。我冻结到MSI以允许在用户选择的任何目录中安装程序。我遇到的问题是,当服务管理器安装服务时,进程执行时工作目录为%WinDir%\System32这会导致问题,因为服务从安装目录中的ini文件中获取一些配置信息。没有定义的绝对路径。

安装服务时有没有办法将安装目录传递给我的应用程序?或者是否有更好的方法来摄取配置文件而无需绝对路径定义?

1 个答案:

答案 0 :(得分:0)

我能够从Windows注册表中识别安装目录。安装服务时,可执行文件的路径在Windows注册表中注册:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\