Windows サービスといくつかのファイルをインストールするインストーラーがあります。インストールを新しいインストールで更新すると (新しいパッケージをインストールするだけで、マイナー アップグレード、製品バージョンの変更、製品 ID は変更されません)、サービスを開始できないことがあります。これは、サービスの起動時にサービスに必要なファイルがインストール フォルダーに不足しているためです。
現在、私たちはただ1つしか持っておらず<Feature />
、1つしかありません<ComponentGroup />
。それ<ComponentGroup />
自体にはサービスが含まれており、ファイルを持つ他のコンポーネントがいくつか含まれています。次のようになります (空の属性はプレースホルダーであり、実際に入力されます)。
<Component Id="" Guid="" Directory="">
<File Source="" Id="" />
<File Source="" Id="" />
</Component>
<Component Id="" Guid="" Directory="">
<File Source="" Id="" />
<File Source="" Id="" />
</Component>
<Component Id="" Guid="" Directory="">
<File Source="" Id="" />
<File Source="" Id="" />
</Component>
<Component Id="" Guid="" Directory="">
<File Source="" Id="" />
<File Source="" Id="" />
<File Source="" Id="" />
<File Source="" Id="" />
<ServiceInstall Id="ServiceInstaller" Type="ownProcess" Vital="yes" Name="" DisplayName="" Description="" Start="auto" Account="LocalSystem" ErrorControl="ignore" Interactive="no">
<util:ServiceConfig FirstFailureActionType="restart" SecondFailureActionType="restart" ThirdFailureActionType="restart" ResetPeriodInDays="5" />
</ServiceInstall>
<ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="" Wait="yes" />
</Component>
悪い点は、サービスが他のコンポーネントに依存していることです。
これらの依存関係をどのように指定できますか? または、を含むコンポーネントにすべてのファイルを配置する必要があります<ServiceInstall />
か?
ありがとう、ヨハネス