我有幾個WIX項目開始安裝和啓動服務。由於我需要安裝程序在非英語機器上工作,因此我一直使用WixQueryOsWellKnownSID屬性爲服務提供本地化帳戶名稱。wix服務不以本地化帳戶開始
但是我明顯得到了錯誤;因爲雖然服務安裝,但它們不會在某些地區啓動。到目前爲止,我知道安裝人員在荷蘭,法國,日本,&中國工作;但不在德國工作&比利時,(比利時機器上的語言是法語)。
安裝期間,我們得到一個「Service'ServiceName'啓動失敗,請驗證您是否有足夠的權限啓動系統服務。」錯誤信息。 如果我忽略該錯誤並打開服務MMC,則該服務會顯示爲具有本地化帳戶名稱(德國計算機上的NT-AUTORITÄT\ NETZWERKDIENST);如果我然後手動將服務帳戶設置爲網絡服務,則服務MMC將顯示Netzwerkdienst,並且服務運行良好。
我已經用Windows7和Server2008R2測試過這兩個操作系統的相同問題。
的維克斯服務代碼:
<PropertyRef Id="WIX_ACCOUNT_NETWORKSERVICE"/>
<Component Id="ProductComponent" Guid="5bcdeb4a-9832-4a01-9863-60bc0634a8fd">
<File Id="$(var.WebLoggerSR2Service.TargetName)" Name="$(var.WebLoggerSR2Service.TargetFileName)"
Source="$(var.WebLoggerSR2Service.TargetPath)" DiskId="1" KeyPath="yes" Checksum="yes"></File>
<ServiceInstall Id="ServiceInstaller" Type="ownProcess" Name="$(var.WebLoggerSR2Service.TargetName)"
Description="!(loc.SVCINST_DESCRIPTION)"
ErrorControl="normal" Start="auto" Account="[WIX_ACCOUNT_NETWORKSERVICE]"/>
<ServiceControl Id="StartWixServiceInstaller"
Name="$(var.WebLoggerSR2Service.TargetName)" Start="install" Wait="no" />
<ServiceControl Id="StopWixServiceInstaller" Name="$(var.WebLoggerSR2Service.TargetName)"
Stop="both" Wait="yes" Remove="uninstall" />
<Util:EventSource xmlns:Util="http://schemas.microsoft.com/wix/UtilExtension"
Name="$(var.WebLoggerSR2Service.TargetName)" Log="Application"
EventMessageFile="[NETFRAMEWORK20INSTALLROOTDIR]EventLogMessages.dll" />
<RemoveFolder Id="INSTALLLOCATION" On="uninstall"/>
</Component>
我使用WIX版本3.9.16.0與還願上的Visual Studio 2012
謝謝菲爾你是對的我使用了本地化名稱,因爲它在訪問權限時是必需的等等,它沒有發生我說服務管理經理需要英語。 – user3636185