使用managedinstaller类安装Windows服务c#
本文关键字:服务 Windows 安装 managedinstaller 使用 | 更新日期: 2023-09-27 18:06:15
使用类似的代码Windows服务的Inno安装程序?
在windows 7盒子(VS 2010)当我试图运行我的inno安装程序,我得到以下结果
没有带有RunInstallerAttribute的公共安装程序。是属性可以找到
如果使用标准的windows安装程序运行,该服务可以工作;下面是代码:
[RunInstaller(true)]
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
public static void Main(string[] args)
{
if (args.Count()==1)
{
string parameter = string.Concat(args);
switch (parameter)
{
case "--install":
ManagedInstallerClass.InstallHelper(new string[] {Assembly.GetExecutingAssembly().Location});
break;
case "--uninstall":
ManagedInstallerClass.InstallHelper(new string[]
{"/u", Assembly.GetExecutingAssembly().Location});
break;
}
}
else
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new SkyLibrarian()
};
ServiceBase.Run(ServicesToRun);
}
}
}
有人遇到过这个问题吗?我以管理员身份使用右键单击运行安装程序。由于
Simon Norburn错误信息和粘贴的代码清楚地说明了问题。错误提示"没有带有RunInstallerAttribute的公共安装程序"。是,可以找到属性"。在您的代码片段中,您声明您的Program类(RunInstaller属性为true)为内部。
将你的类声明改为public,它应该能正常工作。
[RunInstaller(true)]
public static class Program
这是一个简单的错误。ProjectInstaller文件已损坏并从解决方案中删除。它本来是用来替换它的,但有人"忘记了"。一旦发现这个问题,问题就迎刃而解了。错误信息既无描述性也无帮助。