windows-services - 安装自定义Windows服务时出现错误1001

标签 windows-services installshield

我编写了一个在Framework 4.0上运行并在VS 2015中运行的Windows服务。
我还创建了一个安装项目(免费的Installshield版本)。

我的服务在安装后未显示在services.msc下,因此根据其他文章,我不得不在InstallShield中将“主要输出”标记为“安装程序类”,但是当我这样做时,运行安装程序时出现错误1001。可执行程序。

post指出“错误代码1001总是表示Installer类自定义操作失败。”并且我不应该使用自定义操作。我目前不使用任何自定义操作。

该站点上的大多数解决方案都有关于Installshield 2010的说明,而这些步骤不适用于2015。

该错误同时出现在我的开发机和所有客户端计算机上。
有什么建议?

编辑:

事件查看器显示“无法创建还原点(进程= C:\ Windows \ system32 \ msiexec.exe / V;描述=已安装我的应用程序名称;错误= 0x80070422)。

最佳答案

我有这个完全相同的问题。升级到VisualStudio 2013和较新的InstallShield LE并构建我的安装软件包后,它们突然会因神秘的1001错误而失败。

权威答案

我找到了明确的答案。您不再可以在InstallShieldLE中选中“安装程序类”复选框。 您必须取消选中项。

为了打开此对话框,请转到指定应用程序数据> 文件,然后右键单击“主输出”,然后选择“属性”。

uncheck Installer Class

以前,您必须选择它:现在一定不能选择它

以前(在Visual Studio 2012以及之前必须选择该项目,否则服务安装将失败。这非常糟糕。

现在,您必须转到InstallShield LE项目中的以下树项,然后双击“服务”节点:
services node

之后,“服务”项显示在左侧(我是否提到了这整个情况是多么糟糕的UX和UI?),然后右键单击它,以便可以添加服务。

add service

选择出现的菜单项以添加服务,您将获得一个表格,可用于设置安装程序详细信息。

installation details

完成该操作并重建后,您的MSI将起作用,这将解决1001错误。

原来的InstallShield开发人员本来可以解决所有的时间浪费。不幸的。

关于windows-services - 安装自定义Windows服务时出现错误1001,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32949860/

相关文章:

c# - 如何制作带参数的Windows服务?

c# Windows Service Console.Writeln 收藏

c# - 检查未注册/丢失的服务

c# - 使用 InstallShield LE 时,msi 包含一个程序集的过时版本,但包含其他程序集的当前版本

c# - Windows 8 和 Windows Server 2012 抛出错误 ".Net Framework 3.5 is not installed"

windows-services - 调查哪个Windows服务正在监听哪个IP和端口

visual-studio-2008 - Visual Studio在服务项目中缺少 “Add Installer”链接

build-process - InstallShield 2010 with license - 没有自动构建系统 (CI) 作为 Windows 服务的许可证

c# - 使用 MSI 将 .NET 程序集安装到 GAC

installshield - 使用InstallShield项目中的安装脚本创建SQL连接