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 位机器上安装后,服务在 32 位 (x86) 模式下运行,尽管 Win64="yes" 属性。安装后还需要做什么才能在 x64 模式下运行服务?

谢谢

4

1 回答 1

2

服务安装中的 Type="ownProcess" 用于 win32 进程,因此服务以 32 位模式运行。也许您可以使用自定义操作来安装服务而不是 ServiceInstall 元素。

于 2013-10-06T14:38:44.863 回答