2012-06-06 66 views
0

嘗試將服務安裝到當前在.Net Framework 2.0下運行的服務器上。當我從安裝項目運行.MSI文件時,所有內容都被複制過,但是當我在SMC下進行檢查時,服務不在那裏。此外,當我嘗試使用InstallUtil安裝該服務時,系統提示您在程序集中找不到具有RunInstallerAtrribute.Yes屬性的公共安裝程序。當我檢查我的ProjectInstaller.cs時,一切看起來都不錯。另外,我可以在我的電腦上安裝,我在服務器和我的盒子上都擁有管理員權限。服務不會在服務器上部署

這裏是ProjectInstaller.cs文件

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Configuration.Install; 


namespace MyService 
{ 
    [RunInstaller(true)] 
    public partial class ProjectInstaller : Installer 
    { 
     public ProjectInstaller() 
     { 
      InitializeComponent(); 
     } 
    } 
} 

編輯:服務器正在運行Windows 2003 R2服務包兩項。 個人計算機運行的是Windows 7和視覺工作室2010

+0

約** **哪個服務器可能是好的(只有半打信息左右)以及您嘗試運行安裝的帳戶。 –

回答

1

下面是一些代碼,安裝的服務的示例:

[RunInstaller(true)] 
public class InstallMyService : Installer 
{ 
    public InstallMyService() 
    { 
     var svc = new ServiceInstaller(); 

     svc.ServiceName = "MyService"; 
     svc.Description = "This is a service"; 
     svc.DisplayName = "My Service"; 
     svc.StartType = ServiceStartMode.Automatic; 

     var svcContext = new ServiceProcessInstaller(); 
     svcContext.Account = ServiceAccount.LocalSystem; 

     Installers.Add(svc); 
     Installers.Add(svcContext); 
    } 
} 
+0

這樣做。但是,當您爲服務創建安裝程序時,它與VS2010 auto生成的內容有什麼區別? –

+0

我不能說。上面的技術最初是從MSDN網站上的示例代碼複製的,儘管我沒有參考。 –