Before begin I have to give some credit to my friend Rodrigo Guerreiro because he helped me with this PROBLEM.
First I can say that I wasn’t able to find ANY information in internet about migration. Don’t know if I was looking in the wrong sites but i wasn’t able to find any information.
Now this post reflect what I did in order to create 2 MSI’s files that can be installed in Visual Studio 2005 and Visual Studio 2008. (One MSI to install in VS2005 and another to install in VS2008)
Notice that I didn’t had to migrate my solution to VS2008 in order to create a MSI that installs a factory in VS2008
These was my steps:
- Go to the solution folder and, in my case, there was a folder with the project setup. What I did was copy that folder and rename it from XXXSetup to XXXSetup2008.
- Inside the folder XXXSetup2008 I rename the file XXXSetup.vdproj to XXXSetup2008.vdproj
- Then I edit file XXXSetup2008.vdproj (With notepad :)) and every place I had XXXSetup I rename it to XXXsetup2008 (Very Careful with this point because you can mess up with the project and start from the begining). In my case I just had to do this renames:
- "ProjectName" = "8:XXXSetup" para "ProjectName" = "8:XXXSetup2008"
- "OutputFilename" = "8:Release\\XXXSetup.msi" para "OutputFilename" = "8:Release\\XXXSetup2008.msi"
- After this I open the solution in VS2005 and added the project XXXSetup2008.vdproj to my solution
- With the project XXXSetup2008 selected.
- In the solution explorer choose “Custom Actions Editor” icon
- Again with the project XXXSetup2008 selected
- In the solution explorer choose “Launch Conditions Editor” icon
- A window will open with the following Launch Conditions:
- Search Target Machine
- Launch Conditions
- click in every single option (CSharp, RunTime, VS, .NetFramework, C# Language, Guidance Automation Extensions, VS.Net) and in the properties you will have to change every single place you have 8 (VS2005) change it to 9 (VS2008).
- Here it is what you need to change:
- In CSharp change it from:
SOFTWARE\Microsoft\VisualStudio\8.0\InstalledProducts\Microsoft Visual C#
To:
SOFTWARE\Microsoft\VisualStudio\9.0\InstalledProducts\Microsoft Visual C# - In RunTime change it from:
SOFTWARE\Microsoft\VisualStudio\8.0\InstalledProducts\RecipeManagerPackage
To:
SOFTWARE\Microsoft\VisualStudio\9.0\InstalledProducts\RecipeManagerPackage - In VS.Net change it from:
SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS
To:
SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS - In VS.Net change it from::
Visual Studio .NET 8.0 is not installed. Do you want to see information of the product? Click Yes to be directed to a web page, click No to exit.
To:
Visual Studio .NET 9.0 is not installed. Do you want to see information of the product? Click Yes to be directed to a web page, click No to exit.
- In CSharp change it from:
Now Compile and create the MSI’s. The next step is test the Factory in a VS 2008 :) Hope I was able to help. Sure helped me.