29

I'm trying to move a solution I have over to Visual Studio 2012 and one of the project types is .vdproj.

According to this link this project type is not supported in Visual Studio 2012: MSDN says they recommend that you use InstallShield Limited Edition for Visual Studio.

The problem is, when I open up my solution in VS2012 and try to add a new "Enable InstallShield Limited Edition" project to my solution, I get an error message saying:

Creating project 'test'...project creation failed.

Enter image description here

Enter image description here

Why might I not be able to add a project of this type to my solution?

If I make a new empty solution I can't make an InstallShield project it in either.

I'm going to try to download InstallShield limited edition and see if it does anything.

I tried out that InstallShield download, and it added two extra project types, but I'm unable to create either of them. I'm able to add normal website projects to my solutions just fine, but not deployment projects.

The installer was named the same, but this one prompted me to re-start. After re-starting I was able to add an InstallShield project, but it gets created in its own solution. So, it looks like now I have to figure out how to use it, and I'll be good to go.

It's looking like the limited edition doesn't have support to install Windows services.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Andrew Walters
  • 4,763
  • 6
  • 35
  • 49

3 Answers3

15

This will probably be long and boring because there's lots of steps, but I'd like to write up how to move from a Windows service installer .vdproj to the new InstallShield LE that's available in Visual Studio 2012.

Step 1: Create a merge module (.msm)

Follow the steps of this guide.

Notes:

  • You will need to install WiX 3.6 and isWiX
  • The latest release of IsWiX doesn't enable the Tools menu item in Visual Studio 2012. Edit the file: C:\ProgramData\Microsoft\MSEnvShared\AddIns\IsWiXAddin.Addin (XML) and clone the HostApplication element and update 10.0 to 11.0.
  • In step #8 of the guide, it references a code tab. This has been moved to the XML Editor item in the bottom of the left menu
  • I left the MergeRedirectFolder empty for my installation

Here is my isWix files view:

Enter image description here

After you're done with the guide you should have an empty .wxs file that looks something like this:

Enter image description here

Using the Component XML element pulled from here you should end up with a .wxs file that looks like this:

Enter image description here

Hit build and you should now have a .msm file.

Step 2: Adding merge module to InstallShield

  1. Go though the wizard to setup the basic install information like company and version information.
  2. Find the redistributables view in ISLE. Right click the list and select browse for module. After your module is found and added, right click the modules and select properties. Set the destination folder drop down to INSTALLDIR. I had to set mine to the lowest level folder I created for my install path, so you might have to experiment a bit.
  3. Build Project, and test on virtual machine

Redistributables Screen

Enter image description here

If you're getting errors about the path being too long you might need to change the release location to something close to the root.

Enter image description here

Here's a list of all the build errors for reference.

Now you should be able to run your installer and have it install/start a Windows service. A lot more work than .MSI files, we got it to generate in Visual Studio 2010, but overall it was not too bad.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Andrew Walters
  • 4,763
  • 6
  • 35
  • 49
  • You have to install WiX to migrate from a Visual Studio Setup project to InstallShield Limited Edition, or was all this work just to have your setup install a windows service? Your answer you accepted seems to be for a specific migration use case and not for a general Setup to IS LE migration. – jla Dec 07 '12 at 17:29
  • I just needed it to do the service installer – Andrew Walters Dec 08 '12 at 17:35
  • Please note, you generate the component element by using IsWiX to drag and drop the EXE into the MergeRedirectFolder. Stealing the XML from my website is just going to be a component rule violation because different people will have the same ComponentId GUIDs. That's not a good thing. – Christopher Painter Apr 18 '13 at 17:23
  • Also, it is a bit more work then VS2010 but it's worth it because now you are leveraging the built-in Windows Installer capabilities. You are far less likely to have an installation failure (Error 1001) caused by an InstallUtil custom action. – Christopher Painter Apr 18 '13 at 17:24
  • One thing that people can do, as they stumble on this, is vote for the feature to be returned (http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3041773-bring-back-the-basic-setup-and-deployment-project). – Mike Perrenoud Apr 24 '13 at 19:55
  • for your first step, that guide talks about using VS 2010 to create a merge module. Can you not do this in VS 2012? I don't see a merge module project type in VS 2012 – PositiveGuy Sep 13 '13 at 05:50
  • what do you mean by clone in "The latest release of IsWiX doesn't enable the Tools menu item in Visual Studio 2012. Edit the file: C:\ProgramData\Microsoft\MSEnvShared\AddIns\IsWiXAddin.Addin (XML ) and clone the HostApplication element and update 10.0 to 11.0." – PositiveGuy Sep 13 '13 at 05:51
  • I don't get it your instructions talk about using VS 2010 to do all this conversion...why can't we do this via 2012, meaning all the steps above? – PositiveGuy Sep 13 '13 at 05:52
  • @CoffeeAddict You should be able to use VS2012 for the guide, I just didn't want to pull Chris's whole tutorial into my answer since it was already written up. See the notes for changes you'll want to make to the config file – Andrew Walters Sep 13 '13 at 14:36
  • thanks Andrew. Also what did you mean about cloning in one of your first bullet points. Like what are you cloning, why, and how? – PositiveGuy Sep 13 '13 at 15:48
  • also do I still need to install WiX 3.6 and isWiX in VS 2012 or is that included in the InstallShield LE. Sorry for my ignorance, but there's so much to read about all these parts it gets confusing. – PositiveGuy Sep 13 '13 at 15:49
  • Clone = copy/paste. You'll want to download Wix and isWix seperatly, they aren't included with what comes with visual studio. – Andrew Walters Sep 13 '13 at 15:54
  • so if I have a .vdproj, after creating the new InstallShield project which I've done, so now you're saying you create a .msm file (I assume you can do this from functionality within the InstallShield project itself somehow? And then after you do this, then I don't get it, so are we migrating over the settings from the old .vbproj or does this just allow you to run your old .vbproj project? – PositiveGuy Sep 13 '13 at 15:55
  • I guess I don't get the relationship or dependency of Wi 3.6, WiX, and the InstallShield project type...because when I read the VS 2012 compatibility page it states " You can’t open this project in Visual Studio 2012 because it doesn't support that project type. We recommend that you use InstallShield Limited Edition for Visual Studio (ISLE), a free deployment solution that directly supports most Windows platforms and application runtimes. You can also use ISLE to import data and settings from Visual Studio Installer projects." so it's saying you can import settings? – PositiveGuy Sep 13 '13 at 15:56
  • hmmm maybe this will be better now that there's a converter? http://www.add-in-express.com/vdproj-wix-converter/index.php – PositiveGuy Sep 13 '13 at 16:11
  • Looks promising, if it works well please update the answer to include an alternative for people looking to spend a few dollars – Andrew Walters Sep 13 '13 at 16:14
  • yea it's a $100 I'm debating unless my boss will pay :) might still go the manual route. – PositiveGuy Sep 13 '13 at 16:16
  • so backing up, I still don't get the true goal, is it to import settings from the old .vdproj into the new installshield LE project? – PositiveGuy Sep 13 '13 at 16:17
  • I'm looking at that first link on IsWix. How would I know what values to put in IsWiX is the General Information designer..do I need to look at the files from my .vdproj and use of the values such as language, version, yada yada? That page just shows you how to create a new msm I think but doesn't really talk about porting over stuff related to a .vdproj – PositiveGuy Sep 13 '13 at 16:24
  • let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/37353/discussion-between-coffeeaddict-and-andrew-walters) – PositiveGuy Sep 13 '13 at 16:32
  • so now InstallShieldLE is limited hence LE so I can't view stuff like dependencies in my InstallShield project. I mean is this for real? I have to pay for this and there's no free migration solution from MS? – PositiveGuy Sep 13 '13 at 21:13
  • Ya kind of a pain :-) – Andrew Walters Sep 14 '13 at 18:03
  • I cannot find IsWix tool in VS 2012 – Dinav Ahire Jul 29 '19 at 12:50
7

While there is no easy or truly supported solution for Visual Studio 2012, Visual Studio 2013 users can get an extension from Microsoft in the Visual Studio Gallery.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Owen
  • 728
  • 7
  • 17
0

I found this post which says you must download InstallShield first. It's a very confusing way to work. I suggest to vote up the post on the connect site and give them comments letting know how poor that is. They could at least give a more descriptive error http://connect.microsoft.com/VisualStudio/feedback/details/732196/project-creation-failed-for-installshield-limited-edition#tabs

Alan Macdonald
  • 1,872
  • 20
  • 36
  • Thanks for the link. If you have the same problem I did with migrating a webservice installer I'd be happy to try and help you resolve it. – Andrew Walters Oct 02 '12 at 21:31