How do i create an InstallShield LE project to ins

2019-01-05 07:11发布

I downloaded Visual Studio 2012 yesterday when it was released on MSDN. I have noticed that a few of the project types that we had in 2010 are gone or different. The biggest difference for me right now is the removal of the Windows Installer project. Now we are being forced to use the InstallShield LE (Limited Edition). The problem here is that I write a ton of Windows Services and I can't see how to setup InstallShield LE. It appears that we (my company) will have to invest in licenses for the professional edition.

Has anyone found a way to install services in InstallShield LE? When using the Windows Installer project, you just set the custom actions.

11条回答
Anthone
2楼-- · 2019-01-05 08:07

I had all sorts of problems with this.

As follows.

  1. InstallShield takes ages to download
  2. the registration process is a pain.
  3. the configuration options are confusing and overly complex.
  4. the accepted solution on this thread is a hack and it doesn't always work - see 1001 in the documentation - essentially you need to get through the paywall to get the right configuration options to install a windows service.

Solution for me as mentioned elsewhere - was to abandon InstallShield

enter image description here

Very easy from that point.

Edit: Update - install the latest version from here https://wix.codeplex.com/releases/view/115492 for vs 2013 / 2015

查看更多
乱世女痞
3楼-- · 2019-01-05 08:11

Wanted to put this here;

On VS 2015, when doing this, I ran into the 1001 error upon installation repeatedly.

Answer on this page explained that on the newer versions (anything past 2012), apparently you need to explicitly leave the installer class option unchecked, and then add your windows service under the Services section under Step 3 of the installer project:

Error 1001 when installing custom Windows Service

查看更多
老娘就宠你
4楼-- · 2019-01-05 08:13

While using the installer class checkbox may work for some instances, you may experience the following error:

Error 1001.The specified service already exists

Here is an excerpt from this link on how to resolve this issue:

For Error: Error 1001.The specified service already exists

This error will occur if the component installing a .NET Service is incorrectly configured with ".NET Installer Class" set to Yes. The method to install a .NET Service is to use Component\Advanced Settings\Services view, not the ".NET Installer Class" setting. Making definitions in the Component\Advanced Settings\Services view creates entries in the Windows Installer ServiceControl and ServiceInstall Tables. These entries are used by the Windows Installer "InstallServices" action to install the Service.

查看更多
倾城 Initia
5楼-- · 2019-01-05 08:15

I've written about this subject:

Augmenting InstallShield using Windows Installer XML - Windows Services

Basically you create a merge module using WiX to encapsulate the service and then add it to your installshield project. ( Be sure to associate to the INSTALLDIR directory to make sure your file goes where you expect ). Build and test on a VM. Piece of cake.

查看更多
Fickle 薄情
6楼-- · 2019-01-05 08:17

For Visual Studio 2012 & InstallShield LE, do the following:

  • Run through the InstallShield project assistant and add the primary output of your service to the Application files section.
  • After you are done with the project assistant, double click the "Files" item under step two of the setup project.

Files section

  • Right click on the primary output of your service, and go to properties.
  • Click the "COM and .NET Settings" tab, and place a check in the "Installer Class" checkbox. enter image description here
  • Click Ok

Now, once you build and run your install, your service will show up in the Windows Services snap in.

Note that this assumes you added a "Project Installer" to your service project (Right click on the service design sheet and click "add installer"). I can confirm this work on Windows 8 with Visual Studio 2012 / InstallShield LE.

查看更多
登录 后发表回答