Error 1001 when installing custom Windows Service

前端 未结 8 590
误落风尘
误落风尘 2020-12-08 15:50

I wrote a windows service that runs on Framework 4.0 and running in VS 2015. I also created a setup project (free Installshield version).

My service did not show und

相关标签:
8条回答
  • 2020-12-08 16:01

    I had this exact same issue. Suddenly after upgrading to VisualStudio 2013 and the newer InstallShield LE and building my installation packages they would fail with the cryptic 1001 error.

    Definitive Answer

    I found the definitive answer. You can no longer have the checkbox for "installer class" selected in InstallShieldLE. You must uncheck that item.

    In order to open this dialog box, go to Specify Application Data > Files and right click on your Primary Output and select Properties.

    Previously, You Had To Have It Selected: Now It Must Not Be Selected

    Previously (Visual Studio 2012 and before you had to have that item selected or the service installation would fail. This is quite terrible.

    Now, you have to go to following tree item in the InstallShield LE project and double-click the Services node:

    After that the Services item appears on the left (have I mentioned what a terrible UX and UI this entire thing is?) and right click it so you can add the service.

    Choose the menu item which appears to add the service and you'll get a form which allows you to set up the installer details.

    Once you do that and rebuild your MSI will work and this will resolve the 1001 error.

    This was all a terrible waste of time that the original InstallShield Devs could've resolved. Unfortunate.

    0 讨论(0)
  • 2020-12-08 16:06

    Since i cant comment yet i will just reply with an answer to your own accepted answer. I know it has been a while since you asked the question but here goes.

    If you want auto start after install you can go to step 3. Configure the Target System. Choose the Services tab. Right click Services and add Service. You should be able to locate any service in your Primary Output. Once added you can select different settings related to auto start and so on. Hope it helps you.

    On a side note, i am still looking for the answer to my 1001.

    0 讨论(0)
  • 2020-12-08 16:17

    Hopefully this will help some of you encountering the Error 1001 when trying to install a .NET Windows Service using InstallShield 2015 LE installer project with the Primary Output set as an Installer.

    It's a known bug when .NET 4.6 is installed on Windows 10.

    https://flexeracommunity.force.com/customer/articles/en_US/ISSUE/HOTFIX-Install-Fails-With-Error-1001-When-a-NET-Installer-Class-Component-is-Present-in-InstallShield-2015-SP1

    0 讨论(0)
  • 2020-12-08 16:18

    After some digging I found out that the installer fails with that error when it tries to remove the service (associated with whatever you are installing) - AND (the service) is not there anymore. My use case scenario - Start install from MVS2015 of a complex solution that comprises also a windows service. When you change the version of the solution, the installer stops in its tracks finding that the your app was installed before and can not uninstall it as it is a different version. It pops up a dialog box stating this and exits .... BUT IT HAS UNINSTALLED the service. Now trying to install or uninstall fails with the error 1001 because windows doesn't find the service to uninstall it.

    If somebody has a better solution please post it, but my solution is to use sc command line utility. sc is a utility that can be used to manipulate services from the command line (type sc for help). So i use sc to add the service (by name), and then I can do uninstall, or install as usual. Is compulsory to have a valid bin path in command - but ANY valid path will be accepted.

    sc <server> create [service name] [binPath= ] <option1> <option2>...
    

    Example:

    sc create MyService binPath= C:\Windows\explorer.exe
    [SC] CreateService SUCCESS
    
    0 讨论(0)
  • 2020-12-08 16:21

    This error occurs when targeted .NET framework is not installed.

    If you are targeting the same development machine then please check if that service (EXE) is already running on that machine or not (It should not running).

    0 讨论(0)
  • 2020-12-08 16:23

    If you have .NET 4.6 installed on your build machine, you'll need the 2015 version of the limited edition to avoid a versioning bug with InstallShield's support for Installer Classes. (There are many causes for a 1001 error, so this is not a guaranteed fix.) Note that InstallShield 2015 Limited Edition does not support the community edition of Visual Studio.

    0 讨论(0)
提交回复
热议问题