1
我试图按如下方式从Power-shell安装Windows服务。将参数传递给Powershell中的InstallUtil
$sn = """" + $serviceName + " " + $exeName + """"
C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -i /ServiceName=[$sn] $exeFilePath
我收到以下异常。
Microsoft (R) .NET Framework Installation utility Version 2.0.50727.3053
Copyright (c) Microsoft Corporation. All rights reserved.
Exception occurred while initializing the installation:
System.IO.FileNotFoundException: Could not load file or assembly 'file:///E:\Scheduled' or one of its dependencies. The system cannot f
ind the file specified..
但下面的命令工作。
C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe -i /ServiceName=["Scheduled Download Service"] $exeFilePath
我想安装带有动态名称的Windows服务,并使用Power-shell传递服务名称。任何帮助表示赞赏。
答案是VS 2008正确的,但由于InstallUtil被修改,在2012年VS将会失败。
您应该使用 $sn = """" + $serviceName + " " + $exeName + """"
的原因是,InstallUtil(2.0)会自动添加引号,所以我们应该忽略它们(如答案)。但InstallUtil(4),如果字符串在任何位置包含引号(这是一个错误? - 它们应该检查在字符串的开头和结尾是否有引号 - 目前这会打破所有2.0代码),这会被跳过。
Reflecter是你的朋友。
谢谢。它的工作..然而,服务名称安装为[预定下载服务]。我期望预定的下载服务。 – Vivasaayi
仍是[预定下载服务]。 – Vivasaayi
预定下载服务 – Vivasaayi