2017-12-04 9 views
0

WiXを使用して、プリインストールされているサービスのスタートアップタイプをAutomaticに設定しようとしています。もう1つのタスクは、私が達成したインストール時にサービスを開始することでした:サービスの設定WiXインストーラのスタートアップタイプ

<ServiceControl 
    Id="ServiceRunningState" 
    Name="[Service Name]" 
    Start="install" 
    Stop="install" 
    Wait="yes" /> 

ここでもスタートアップの種類を設定したいと思います。

<ServiceConfig 
    Id="ServiceStartup" 
    ServiceName="[Service Name]" 
    DelayedAutoStart="yes" 
    OnInstall="yes" 
    OnReinstall="yes" /> 

をしかし、これは(Manualスタートアップの種類からテスト)サービスのスタートアップの種類を変更していない:私は(answerを参照)、以下を試してみました。さらに、スタートアップの種類をAutomaticにして、Automatic (Delayed Start)ではないようにします。

既存のサービスを変更しようとしていますので、ServiceInstallという要素はありません。

2つの要素(ServiceControlおよびServiceConfig)は、Component親要素内の子です。

すべてのヘルプは高く評価され:)

答えて

0

、例を参照してください。

<RegistryKey Root="HKLM" 
      Key="SYSTEM\CurrentControlSet\Services\[Service Name]" 
      Action="create"> 
    <RegistryValue Type="integer" Name="Start" Value="2" /> 
    <RegistryValue Type="integer" Name="DelayedAutostart" Value="0" /> 
</RegistryKey> 

注サービスはサービスのGUIでAutomatic (Delayed Start)として表示されることがあります。ただし、再起動後、Services GUIにはサービス起動タイプがAutomaticと表示されました。

0

は「DelayedAutoStart」パラメータに「ノー」ではなく、「はい」を設定してください。

1

MSIは、パッケージがインストールしないサービスのスタートアップタイプの変更をサポートしていません。 ServiceConfigdoesn't let you get around that

はServiceInstallテーブルのStartTypeフィールドにSERVICE_AUTO_STARTで、このパッケージによってインストールされたインストールの自動開始サービスまたはサービスに適用されます。 RegistryKeyを経由して、レジストリを編集することによって解決

+0

私はそれほど考えませんでした。なぜ機能がうまくいかない場合、あなたは 'ServiceInstall'要素の外にある' ServiceConfig'にアクセスすることもできますが、これは逆効果のようです。質問は明示的に 'ServiceConfig'ソリューションを要求していませんが、私は情報を感謝します:) – ChickenFeet

関連する問題