gpt4 book ai didi

c# - Wix 服务安装参数

转载 作者:太空狗 更新时间:2023-10-30 00:43:33 26 4
gpt4 key购买 nike

有谁知道如何让我在 ServiceInstall 中声明的参数在服务启动时传递给它?它们在我的 OnStart(string[] args) 中似乎总是为空。

<ServiceInstall
Id="ServiceInstaller"
Type="ownProcess"
Vital="yes"
Name="MyService"
DisplayName="MyService"
Description="MyService Desc"
Start="auto"
Account="LocalSystem"
ErrorControl="ignore"
Interactive="yes"
Arguments="MY ARGS HERE"
>
</ServiceInstall>
<ServiceControl Id="ServiceControl" Start="install" Stop="both" Remove="uninstall" Name="MyService" Wait="yes" />

最佳答案

有点老了,但这是你可以做的

          <ServiceInstall
Id="SomeService"
Type="ownProcess"
Vital="yes"
Name="Some Service"
DisplayName="Some Service"
Description="Monitoring and management of some service"
Start="auto"
Account="LocalSystem"
ErrorControl="normal"
Interactive="no"/>
<ServiceControl Id="StartSomeService" Start="install" Stop="both" Remove="uninstall" Name="Some Service" Wait="yes">
<ServiceArgument>[P_USEREMAIL]</ServiceArgument>
<ServiceArgument>[P_USERPASSWORD]</ServiceArgument>
<ServiceArgument>[P_DEFAULTNAMINGCONTEXT]</ServiceArgument>
<ServiceArgument>[P_USEHTTPPROXY]</ServiceArgument>
<ServiceArgument>[P_PROXYADDRESS]</ServiceArgument>
<ServiceArgument>[P_PROXYDOMAIN]</ServiceArgument>
<ServiceArgument>[P_PROXYUSERNAME]</ServiceArgument>
<ServiceArgument>[P_PROXYPASSWORD]</ServiceArgument>
</ServiceControl>

更新:当涉及到 this 时,WIX 文档可悲地令人失望。元素。

基本上,您可以设置(公共(public))WIX 变量,通常定义为 [P_*](例如 msiexec 参数、静态参数或在 CA 中)。这些值在启动时以相同的方式传递给服务,就好像您在从服务控制台启动服务(或我想象的网络启动)时将这些值连接在您作为启动参数提供的字符串中一样。在我的例子中,这些是空格分隔的值,例如[P_USERMAIL] 是“--useremail some@email.com”,尽管这是任意的,因为您将在发布的服务启动代码中处理它。

您可能知道,这些值不会持久化。如果服务无法使用您提供的值进行初始化,您将需要重新安装/修复或以其他方式将它们传递给服务(即服务控制台、网络启动)。

关于c# - Wix 服务安装参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10621082/

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