2011-10-03 14 views
3

Wix 3には、サービスが存在するかどうかをチェックするだけの方法が組み込まれていますか?私が思いつくことができる最も近い推測はServiceConfigを使用して、失敗を検出しようとしています。サービスが存在するかどうかを確認できますか?

+1

レジストリエントリを確認できます。 –

+0

私もそれをすることができます。私は、サービスをチェックするビルトインサポートがあるかどうか疑問に思っていました。 –

+0

ええ、私はそれについて知らない。うまくいけばあります。レジストリエントリのチェックはServiceConfigより簡単です。 :) –

答えて

1

AppSecInc。コミュニティMSI拡張には、Service_Existsカスタムアクションがあります。
http://msiext.codeplex.com

オンラインマニュアル:
http://code.dblock.org/Source/msiext/1.2/Docs/_custom_actions_2_system_tools_2_service_impl_8h.html#a6fdcddc7b04a310a368c08726d3be6b3

<Binary Id="SystemTools" SourceFile="$(var.BinDir)\SystemTools.dll" /> 

<CustomAction Id="SetServiceName" Property="SERVICE_NAME" Value="Service1" /> 
<CustomAction Id="ServiceExists" BinaryKey="SystemTools" DllEntry="Service_Exists" Execute="immediate" Return="check" /> 

<InstallExecuteSequence> 
    <Custom Action="SetServiceName" After="InstallFiles">NOT Installed</Custom> 
    <Custom Action="ServiceExists" After="SetServiceName">NOT Installed</Custom> 
</InstallExecuteSequence> 

SERVICE_EXISTSは、そうでない場合は、サービスが存在する場合、 "1" に設定 "0" されます。

関連する問題