Click here to Skip to main content
15,920,438 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
We all know that Installshield is an awful thing lay with our VS right ?

Microsoft will stick to it I think for the next 25 decades, any way.

I have been trying to create a setup project with Installshield for a week now and when I set it up in my virtual machine it does not work!

I seek to create a setup project for my desktop app with prerequisites for .NET 4 and SQL Server 2012 Express and all of that I succeeded to create.

The problem is in the database, how can I include it to my project and what is the proper connection string for it?

I detached it from my SQL Server and put it with the output file and it never worked.

Installshield is awful. And the setup project type bundled with many versions Visual Studio is not good, too; Microsoft is getting rid of it without replacing it with anything else. So, what to do?

My solution is using open-source WiX, the open-source installation toolset:[^],[^].

I recently made a migration to it and am very glad I did. It's not perfect too (and the whole Microsoft Installer and its API is well behind other technologies), but it is much better than anything I ever heard of so far. Actually, if you use WiX, you will understand that the tools mentioned above are actually nearly illegal (technically), they are using their proprietary project files. Only WiX provide excellent compliance with the contemporary MSBuild and related XML-based project standard, so you can use WiX projects using standard MSBuild techniques: customize it, integrate with bigger master projects or solutions, write your own extensions, if you need some, and so on.

Also, it has very good and smooth integration with Visual Studio of different versions.

Finally, one big benefit is: WiX code is non-visual. Everything is explicitly declared in XML code using some official documented XML scheme. Nothing is hidden behind the XML code files.

As to the behavior and features, many advanced features are not comprehensively documented, unfortunately. But communities already collected considerable experience and provide a lot of useful advice. So far, I was able to find solutions to all chores I practically needed. And the set of ready-to-use solutions is wider that that I found in a legacy Setup project. Some actions which required development of custom steps are already embedded in WiX. It includes adjusting Windows Firewall to your application, setting permissions of files and directories, different action depending on the project platform and target platform, and a lot more.

The WiX source code is available, but, in the version I used, it did not compile. This problem was documented. I hope the problem of this product will be fixed with time.

Share this answer
Sergey offered one possible replacement for InstallShield....well, another is InnoSetup. It's an open source solution and it offers you a programming option by supporting Pascal. It really does work pretty well and is very flexible. I've used InstallShield for years and it's really a pain in the rear, I've only started using InnoSetup and I already like it better.

Here's the link to their site:[^]

They support:
- A pre-processor for pre-compilation directives
- Pascal scripting for flexibility at pretty much any point in the installation process
- Relatively easy to learn (GUI makes it easy to start to use)
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900