2

インストーラーがインストールまたはアンインストールを完了したときに、実行中のサービスを再開したいと考えています。
私はこのコードを見つけました:

<ServiceControl Id="SomeUniqueId" Name="NameOfTheirService"
            Start="both" Stop="both"/>

しかし、このコードをどこに添付すればよいでしょうか? my が配置されているコンポーネントに ?

コード:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="325c4bfd-6614-43e9-aedb-93661295352d" Name="Plugin" Language="1033" Version="1.0.0.0"
       Manufacturer="XXX Inc." UpgradeCode="4307526e-3902-40d0-991b-bacff9b3d71b">
<Package InstallerVersion="200" Compressed="yes" />
<Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />
<Property Id="XXXXXX">
  <RegistrySearch Id="XXXXXX" Type="raw" 
                  Root="HKLM" Key="SOFTWARE\XXX\XXX" Name="InstallationPath" />

</Property>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="XXXXXX">
    <Component Id="ProductComponent" Guid="93118c45-f0c0-4c9e-9168-8ea905e9427c">
      <File Id="pluggin" Source="C://setup.log" KeyPath="yes" Checksum="yes"/>
      <ServiceControl Id="StartService" Name="servicename"
         Start="both" Stop="both"/>
    </Component>     
    </Directory>
    </Directory>
    <Feature Id="ProductFeature" Title="install" Level="1">
        <ComponentRef Id="ProductComponent" />
  <ComponentGroupRef Id="Product.Generated" />
    </Feature>
</Product>

4

1 に答える 1

1

このServiceControl要素は、インストールするコンポーネントに配置する必要があります。WiX .chm から:

親 Component のサービスを開始、停止、および削除します。この要素は、start、stop、および remove 属性を使用して、MSI または MSM ファイルによってインストールされたサービスの状態を制御するために使用されます。たとえば、Start='install' Stop='both' Remove='uninstall' は、インストール時にサービスを開始し、製品のアンインストール時にサービスを削除し、インストールとアンインストールの両方でサービスを停止することを意味します。

于 2013-02-07T15:06:03.633 に答える