Windows服务环境 - 我做错了什么?

时间:2016-06-10 07:43:27

标签: powershell registry windows-server-2012 regedit

我正在安装自己的Windows服务。它需要它自己的环境。我知道没有工具可以处理它,所以我手动编辑注册表。

我有用PowerShell编写的服务安装脚本,所以我的第一个想法是这样做:

New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\services\MyService" -Name Environment -Value "EnvVar=value" -PropertyType MultiString

问题是,虽然密钥出现在注册表中,但即使在powercycle之后,我的服务也未使用

试验,我发现如果我在regedit中编辑它,它可以工作,密钥由我的服务使用。所以,我把它绞死了:

Invoke-Expression "reg.exe add ""HKLM\SYSTEM\CurrentControlSet\services\$name"" /v ""Environment"" /d ""EnvVar=value"" /t REG_MULTI_SZ /f"

现在它有效:D

我对New-ItemProperty的使用有什么问题?我正在做管理员的一切,而且我有64 / 32bit的问题(我认为它们不适用于此 - 我的软件是64位,Windows是64位,一切都是64位:)

它为注册表添加了密钥,但未使用它,而使用regedit.exereg.exe添加相同密钥的工作正常。也许我正在打一些虫子? (操作系统:Windows Server 2012,64位)

0 个答案:

没有答案