3

WiX 3.5 とその ServiceInstall タグを使用して Windows サービスをインストールしています。

<DirectoryRef Id="WindowsServiceContentDir">
        <Component Id="WindowsServiceExecutableComponent" Guid="*" Win64="yes">
            <File Source="$(var.WindowsServiceTargetDir)$(var.WindowsServiceTargetName).exe" KeyPath="yes" />

            <ServiceInstall Id="WindowsServiceInstall" Type="ownProcess" Start="auto" ErrorControl="normal" Vital="yes"
                            Name="[WIN_SERVICE_NAME]" DisplayName="Name"
                            Description="Name"
                            Account="[DENTITY_DOMAIN]\[IDENTITY_NAME]"
                            Password="[IDENTITY_PWD]">
            </ServiceInstall>


            <ServiceControl Id="WindowsServiceStop" Name="[WIN_SERVICE_NAME]" Stop="both" Remove="uninstall" Wait="yes" />
        </Component>
</DirectoryRef>

64 ビット マシンにインストールした後、Win64="yes" 属性にもかかわらず、サービスは 32 ビット (x86) モードで実行されます。インストール後に x64 モードでサービスを実行するには、他に何をする必要がありますか?

ありがとうございました

4

1 に答える 1

2

サービス インストールの Type="ownProcess" は win32 プロセス用であるため、サービスは 32 ビット モードで実行されています。ServiceInstall 要素の代わりに、カスタム アクションを使用してサービスをインストールできる場合があります。

于 2013-10-06T14:38:44.863 に答える