获取作为 windows 服务执行的脚本的安装目录
Getting installation directory for script executed as windows service
我正在使用 python 创建一个 windows 服务,使用 pywin32
和 cx_freeze
来分发它。我非常喜欢 MSI 以允许在用户选择的任何目录中安装程序。我遇到的问题是,当服务管理器安装服务时,进程在工作目录为 %WinDir%\System32
的情况下执行,这会导致问题,因为服务从安装目录中的 ini 文件中获取一些配置信息没有定义的绝对路径。
有没有办法在安装服务时将安装目录传递给我的应用程序?或者是否有更好的方法来获取配置文件而不需要绝对路径定义?
我能够从 Windows 注册表中识别安装目录。安装服务时,可执行文件的路径注册在 windows 注册表中:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\
我正在使用 python 创建一个 windows 服务,使用 pywin32
和 cx_freeze
来分发它。我非常喜欢 MSI 以允许在用户选择的任何目录中安装程序。我遇到的问题是,当服务管理器安装服务时,进程在工作目录为 %WinDir%\System32
的情况下执行,这会导致问题,因为服务从安装目录中的 ini 文件中获取一些配置信息没有定义的绝对路径。
有没有办法在安装服务时将安装目录传递给我的应用程序?或者是否有更好的方法来获取配置文件而不需要绝对路径定义?
我能够从 Windows 注册表中识别安装目录。安装服务时,可执行文件的路径注册在 windows 注册表中:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\