Visual Studio 2012 Windows service .vdproj project migration
Asked Answered
E

3

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.

Exclosure answered 24/9, 2012 at 19:8 Comment(7)
blog.deploymentengineering.com/2011/01/…Labourer
Interesting, I'll have to try that out tomorrow. Thanks for the link. Have you used this method?Exclosure
Yes, I invented it. :) blog.iswix.com/2011/01/…Labourer
Impressive, thank you for your help sir!Exclosure
Christopher, would you be able to point me to the blog post where you go over how to mix the Wix XML with install shield? I'm very new to working with install shield and am having troubles figuring it out.Exclosure
I don't have a blog post for LE per say. Email me at [email protected] and I'll help you out.Labourer
This solved the problem for me: #11995225Cityscape
E
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.

Exclosure answered 27/9, 2012 at 16:8 Comment(23)
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.Tuneful
I just needed it to do the service installerExclosure
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.Labourer
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.Labourer
One thing that people can do, as they stumble on this, is vote for the feature to be returned (visualstudio.uservoice.com/forums/121579-visual-studio/…).Algeciras
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 2012Sophocles
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."Sophocles
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?Sophocles
@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 fileExclosure
thanks Andrew. Also what did you mean about cloning in one of your first bullet points. Like what are you cloning, why, and how?Sophocles
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.Sophocles
Clone = copy/paste. You'll want to download Wix and isWix seperatly, they aren't included with what comes with visual studio.Exclosure
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?Sophocles
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?Sophocles
hmmm maybe this will be better now that there's a converter? add-in-express.com/vdproj-wix-converter/index.phpSophocles
Looks promising, if it works well please update the answer to include an alternative for people looking to spend a few dollarsExclosure
yea it's a $100 I'm debating unless my boss will pay :) might still go the manual route.Sophocles
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?Sophocles
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 .vdprojSophocles
let us continue this discussion in chatSophocles
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?Sophocles
Ya kind of a pain :-)Exclosure
I cannot find IsWix tool in VS 2012Carburize
V
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.

Vida answered 30/10, 2014 at 19:6 Comment(0)
C
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

Carlos answered 2/10, 2012 at 17:30 Comment(1)
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.Exclosure

© 2022 - 2024 — McMap. All rights reserved.