gpt4 book ai didi

powershell - 从Powershell将参数传递给InstallUtil

转载 作者:行者123 更新时间:2023-12-03 01:22:41 26 4
gpt4 key购买 nike

我正在尝试从Power-shell安装Windows服务,如下所示。

$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是正确的。但在VS 2012中将失败。因为已修改InstallUtil。

你应该用 $sn = """" + $serviceName + " " + $exeName + """"
原因是,InstallUtil(2.0)自动添加引号,因此我们应忽略它们(如答案中所示)。但是InstallUtil(4),如果字符串在任何位置都包含引号(这是错误吗?-他们应该检查字符串的开头和结尾是否包含引号-当前,这会破坏所有2.0代码),将跳过此步骤。

Reflecter是你的 friend 。

最佳答案

您的问题在这一行:

$sn = """" + $serviceName + " " + $exeName + """"

如果您将其替换为更简单的方法,或执行以下操作:
$sn = $serviceName.ToString() + " " + $exeName

会工作的

关于powershell - 从Powershell将参数传递给InstallUtil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8396860/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com