Cam*_*llo 20 installshield windows-services
我写了一个在Framework 4.0上运行并在VS 2015中运行的Windows服务.我还创建了一个安装项目(免费的Installshield版本).
安装后我的服务没有在services.msc下显示,所以根据其他帖子,我必须将InstallShield中的主输出标记为'安装程序类',但是当我这样做时,我在运行安装程序时得到错误1001.可执行程序.
这篇文章指出"错误代码1001总是意味着安装程序类自定义操作失败." 并且我不应该使用自定义操作.我目前没有使用任何自定义操作.
此站点上的大部分解决方案都包含Installshield 2010的说明,这些步骤不适用于2015.
错误出现在我的开发机器以及所有客户端机器上.有什么建议?
编辑:
事件查看器显示"无法创建还原点(进程= C:\ Windows\system32\msiexec.exe/V;说明=已安装我的应用程序名称.;错误= 0x80070422)".
rad*_*vus 38
我有同样的问题.在升级到VisualStudio 2013和较新的InstallShield LE并构建我的安装包之后突然出现了隐藏的1001错误.
最终答案
我找到了明确的答案.您不能再在InstallShieldLE中选中"安装程序类"复选框. 您必须取消选中该项目.
要打开此对话框,请转到" 指定应用程序数据" >" 文件",然后右键单击"主输出"并选择"属性".
以前,你必须选择它:现在它不能被选中
以前(的Visual Studio 2012,你不得不有选择的项目或服务在安装前会失败.这是相当可怕.
现在,您必须转到InstallShield LE项目中的以下树项,然后双击"服务"节点:

之后,服务项目出现在左侧(我已经提到过这个可怕的用户体验和用户界面这是什么?)并右键单击它以便您可以添加服务.
选择似乎添加服务的菜单项,您将获得一个表单,允许您设置安装程序详细信息.
一旦你这样做并重建你的MSI将工作,这将解决1001错误.
原来的InstallShield Devs可能已经解决了,这完全是浪费时间.不幸的.
如果您的构建计算机上安装了.NET 4.6,则需要2015版本的限制版,以避免出现InstallShield对安装程序类的支持的版本控制错误.(导致1001错误的原因有很多,因此这不是保证修复.)请注意,InstallShield 2015 Limited Edition不支持Visual Studio的社区版.
我找到了一些可以解决这个问题的方法,但它确实产生了一个新问题,尽管是一个更简单且不那么关键的问题。
导致我的问题的原因是我必须从 ServiceInstaller 的 AfterInstall 中删除以下代码:
new ServiceController(ServiceInstaller.ServiceName).Start();
Run Code Online (Sandbox Code Playgroud)
这是为了在安装后自动启动我的服务而添加的。现在我将手动启动该服务。
| 归档时间: |
|
| 查看次数: |
21666 次 |
| 最近记录: |