2010-08-27 84 views
1

我有兩個Windows服務的WIX安裝程序。兩者都使用相同的憑據進行安裝,但其中一個可以正常工作,另一個可以正常工作,並且出現錯誤「服務」無法安裝PCP事件處理器-3.9.9.0-wix'(MyServiceExeName)。驗證您是否有足夠的權限來安裝系統服務。 。」我用與使用的憑據這兩個項目的共同WXI文件,所以它不是一個帳戶名或域名錯字AFAICS正在安裝的兩個服務之間的唯一實質性的區別是:兩個幾乎完全相同的WIX項目 - 一個正常工作,另一個沒有安全問題

  • 失敗的項目對第三方組件一個.licx文件。
  • 失敗的項目是一個WinExe項目,成功安裝是一個EXE(控制檯風格的應用程序)

據我所看到的,有沒有這兩個安裝程序的wxs文件之間的真正區別(顯然GUID是不同的)。失敗的組件有WI X安裝這樣的代碼:

<Component Id="cmpMainExe" Guid="{EXCISED-FOR-CUT-N-PASTERS}"> 
    <File Id="filASJHDJSDJSHGDJH" Source="$(var.EventPollingService.TargetDir)\EventPollingService.exe" /> 
    <ServiceInstall Name="$(var.SVCNAME)-$(var.ProductVersion)-$(var.BranchName)" 
        DisplayName="PCP $(var.SVCNAME)-$(var.ProductVersion)-$(var.BranchName)" 
        Type="ownProcess" 
        Interactive="no" 
        Start="auto" 
        Vital="yes" 
        ErrorControl="normal" 
        Description="Manages the state model of a user's session by handling incoming events from the dialler" 
        Account="$(var.ServiceAccountId)" 
        Password="$(var.ServiceAccountPwd)" /> 
    <ServiceControl Id="StartWixServiceInstaller" 
        Name="$(var.SVCNAME)-$(var.ProductVersion)-$(var.BranchName)" 
        Start="install" 
        Wait="yes" /> 
    <ServiceControl Id="StopWixServiceInstaller" 
        Name="$(var.SVCNAME)-$(var.ProductVersion)-$(var.BranchName)" 
        Stop="both" Wait="yes" 
        Remove="uninstall" /> 
</Component> 

我使用維克斯3.5還願在VS 2010中,和這兩個項目是.NET 3.5 SP1的應用程序。我正在使用Windows 7,並關閉了UAC。

任何想法?

回答

2

看看兩個構建MSI的ORCA from Windows SDK並驗證ServiceInstall表項看起來是一樣的。

但是,根據我的經驗,這不太可能是安裝程序問題。這通常是一個指向應用程序問題的紅鯡魚,例如缺少依賴關係或應用程序異常。在排除ServiceInstall條目並驗證服務帳戶憑據是否正確後,該帳戶不會被禁用,並且帳戶有權作爲服務登錄,然後開始分析您的應用程序。當安裝程序掛在錯誤窗口時,這是最容易做到的。

最後兩個想法:

如果程序有它不會因爲這些工作winsxs文件或GAC的依賴性還是沒有得到安裝,直到提交執行這是試圖啓動服務後

如果您需要授予用戶LogonAsService權限,查看WiX中的用戶元素。

+0

我已經添加了ORCA的鏈接,因爲第一次找它時不容易找到 – quetzalcoatl 2014-02-28 18:40:13

相關問題