PDA

View Full Version : Install service?



mariogiambanco
08-29-2011, 08:05 AM
So, Saturday I purchased Installshield 2012 Express (first time buyer - YEY!) but then soon found out that while Express will pack up my C# Windows service and install it, it wont register it with installutil (or anything else) and start it.

Is this true? Is there no other way to do this? I ran some searches and found a few hacks, but nothing that was recommended.

I have an email out to sales to see if I can return the Express version for a refund and purchase the Professional version (please, tell me pro does this; I can stomach 2k, but 3k is pushing it a bit) but can anyone verify that Pro will install a Windows service, register it and start it?

Any help is really appreciated. Was really depressing to finally get funding for my project and goto buy installshield, pack up my program and find out it was still lacking.

-Mario

mariogiambanco
08-29-2011, 04:55 PM
No replies?

Not even a document pointing me to the difference between express and pro in being able to package up a windows service app?

:(

RobertDickau
08-29-2011, 05:55 PM
A feature comparison by edition is available here, though it doesn't mention services specifically: http://www.flexerasoftware.com/products/installshield/features.htm.

InstallShield Professional and Premier do contain functionality for installing and starting Windows services. Looking at the InstallShield documentation index at http://helpnet.flexerasoftware.com (or you can download a big PDF at http://support.flexerasoftware.com) will give details.

joshstechnij
08-29-2011, 06:03 PM
You can normally get an installer class to run in a .NET assembly by right-clicking the file in the destination file list (in the Files view), then select Properties and go to the COM & .NET Settings tab. On this tab, check the Installer Class box and click OK (this is available through Express only, Pro/Premier provide this option at a component level).

If this assembly does not implement service installation through an installer class (the service is registered by calling service control manager APIs instead), the Professional or higher editions of InstallShield could be used, as they expose support for MSI service install and service control functionality, in addition to providing abstractions of the SCM APIs through InstallScript. If upgrading is not an option, a custom action could still be used in Express projects to register the service through the SCM.