2012-02-20 71 views
0

我們很少使用.NET Framework 1.1(VS2003)開發windows服務。對於每個windows服務,都會創建一個msi安裝程序(設置項目)以使安裝更容易。安裝程序能夠在Windows XP中成功安裝Windows服務。但是這些安裝程序無法在WIN7中安裝Windows服務,雖然我在我嘗試安裝它們的機器上擁有管理員權限。雖然我試圖在win7中安裝Windows服務,通過msi安裝程序,安裝正在進行到90%。之後,它既沒有完成也沒有發生錯誤。我無法理解問題所在。windows服務在vs2003中創建的msi安裝程序在安裝時掛在win7中

我嘗試了以下方法。

1.Opened在管理模式cmd窗口,並試圖用命令MSIEXEC -i --Din't工作

2.右鍵點擊的實際exe文件(Windows服務EXE)的文件,並試圖執行MSI Din't工作

4.Right點擊都 - 在管理模式.-- Din't工作

3.Changed的UAC從不通知,重新啓動計算機,然後嘗試安裝運行exe和MSI並打開它們的屬性,並將兼容性更改爲較低版本的Windows並嘗試安裝 - 不工作

我注意到的一件事是,對於我們的Windows服務安裝程序的所有自定義操作,我們的主要項目(exe)的主要輸出作爲input.I構建msi安裝程序通過刪除所有自定義操作。然後我嘗試將其安裝到win7中。然後安裝它。但是在安裝過程中,系統沒有提示輸入帳戶詳細信息(這是安裝Windows服務時的實際情況),而且服務未出現在服務管理器窗口中。

我花了很多時間來確定原因和解決方案,但我不知道在這個問題上的任何帖子。我懷疑問題是與自定義actions.But不知道。如果問題是與自定義操作,請讓我知道如何克服它。

請爲這個問題提供一個解決方案或與我分享,如果有任何鏈接談論這個。

回答

1

FWIW,.NET 1.1在Win7上不受支持。另外我猜你正在使用InstallUtil自定義操作來驅動.NET Windows服務的設置。這些都非常脆弱,您可以通過重構並使用MSI中的ServiceInstall ServiceControl表來消除所有這些脆弱點。