How to Enable WiX Projects in Visual Studio 2015 - visual-studio

When I go the the New Project dialog in Visual Studio 2015, Windows Installer XML isn't available. How can I enable WiX projects in Visual Studio 2015?

Update 2015-09-08: WiX Toolset 3.10 is released with official support for Visual Studio 2015 editions. It is available for download from wixtoolset.org.
You can manually enable Visual Studio 2015 compatibility with WiX 3.9 or earlier:
Copy
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\WiX to
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\WiX
Then execute as Administrator:
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv" /setup
When you open Visual Studio 2015, WiX 3.9 and earlier projects will be compatible.

This was also my issue before, and it looks like Chris Schiffhauer's answer isn't the best solution by now, as WiX 3.9 or earlier is not specifically build for Visual Studio 2015.
The solution is just to install the latest builds of WiX v3.10 from this link as what they replied on their tweets: https://twitter.com/wixtoolset/status/597796279729528833
#5ervant latest builds of WiX v3.10 support #VisualStudio 2015.
I only have Visual Studio Community 2015 RC when I'm looking for a solution, and upon following Chris' answer, after installing WiX Toolset v3.9 R2, I didn't found the C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE folder nor the C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7 folder in my system.

If you have VS 2012 and VS 2015, Install Wix ToolSet V3.10.3.
This will install the Wix toolset for 2012 and 2015 will not yet detect it.
Next in Control Panel-->Programs, choose the WIX installation, right click and change. Choose the Repair option in the toolset UI.
Once repaired 2015 starts detecting the installer and it works fine after.

I have found that the order of installation is important. Using VS2015, when I tried to add an existing WiX project I could not select it because the *.wixproj extension was not available. When I tried to add a new WiX project the "Windows Installer XML" templates were not available.
To fix this I closed VS2015, uninstalled the WiX tools using the Control Panel and reinstalled it by running wix310.exe (version 3.10.2.2516 downloaded from https://wix.codeplex.com/releases/view/619491)

In my scenario the Wix project in the VS 2015 solution would load fine, but stopped loading one fine day with the exception that wix project type was not supported. The issue kept popping even after already installed the VS 2015 relevant Wix Toolset v3.11.1.2318 was updated.
The solution lied in going to Tools->Extension and Updates, locating Wix extension in the list of extensions and enabling it. It had got disabled somehow. Enabling it asked for restarting the VS 2015, which, upon restarting loaded the Wix project fine.
HTH!

I got the same issue with 3.11. I uninstalled 3.11 & installed WIX 3.10. Wix version 3.10 worked smoothly without any manual steps with VS 2015.
Atul

Related

I upgraded my project from visual studio 2010 to visual studio 2015 but i is there any need to upgrade the msbuild

I am upgrading my project from visual studio 2010 to visual studio 2015
please tell me is there any need to upgraded the ms-build project.
Follow these steps to upgrade project created in earlier versions of VS this may help you:
In VS, on the File menu, click Open and then click Project/Solution,
Web Site, or File, depending on the kind of project you are
upgrading.
In the Open Project dialog box, select a project file, and then click
Open. If VS detects that the project or file was created in an earlier version of Visual Studio, the Visual Studio Conversion Wizard opens.
Complete the Visual Studio Conversion Wizard.
Refrence
is there any need to upgraded the ms-build project?
The answer is No. That because since start with Visual Studio 2013, Visual Studio team made a number of exciting changes to MSBuild for Visual Studio 2013. Now the 2013 version of MSBuild will ship as a part of Visual Studio instead of the .NET Framework. See this blog MSBuild is now part of Visual Studio! for more detail info.
You can find the MSBuild.exe from the directory: C:\Program Files (x86)\MSBuild\14.0\Bin
Since it ships as a part of Visual Studio 2013, just as Michael said, MSBuild upgrade should happen with the VS installation. So you do not need to upgrade the MSBuild separately.
Hope this helps.

Visual Studio - vdproj is incompatible

I have a project in a solution I am working on in Visual Studio 2012, and I get this message for one of the projects: "This version of Visual Studio does not have the following project types installed, or does not support them." It is a vdproj. What does this mean and how do I resolve this problem
The correct procedure to resolve "Incompatible" issue with VDPROJ Projects coming from Visual Studio 2010 and 2015 in 2017 or 2019 is:
Enter Visual Studio .NET 2017 or 2019
2017: Click on "Tools" -> Extension and Updates -> Online
2019: Click on "Extensions" -> Manage Extensions -> Online
Type "Installer Project" on the search box
Click on "Install" in Microsoft Visual Studio Installer Project
Restart Visual Studio .NET and follow the instructions to install the extension
With this extension the old project (2010, 2015) is capable to work in (2017, 2019). VDPROJ are not deprecated, simply they are improved with a new extension, for more information about this please visit the oficial MarketPlace.
There is also the official:
Microsoft Visual Studio 2015 Installer Projects
Microsoft Visual Studio 2013 Installer Projects
Microsoft Visual Studio Installer Projects (2017 & 2019)
Microsoft Visual Studio 2022 Installer Projects
if you can jump to VS 2013, 2015, 2017+2019, or 2022
But BozoJoe is right, its time to drop vdproj and move on to WiX.
vdproj is a MSI creation project for Visual Studio. Its been deprecated and most people have moved on to either WIX or NSIS or a professional grade installer creation tools such as Install Shield.
If you do not require an installer for your product just exclude the vdproj project from the solution and continue with your life
for fun if you want to try to transition right away to wix, try this powershell script https://github.com/chrisoldwood/vdproj2wix
Visual Studio 2017 can use the Visual Studio Installer. It is NOT a default. You have to run InstallerProjects.vsix. You can get it at Microsoft Visual Studio 2017 Installer Projects. I have used it and worked great, at least for a windows GUI project. It's worth a shot before you get into the Install Shield intricacies.
if You use Microsoft Visual Studio Installer Project (Vs2017).
Microsoft Visual Studio Installer Project may be disabled after an update.
Tools -> Extensions and Updates..
Click Installed
Find and Select -> Microsoft Visual Studio Installer Project
do Enable
Restart Visual Studio

Why is 'Windows Installer XML" missing from New Projects in VS 2013

I had previously installed WIX 3.8, and could see the "Windows Installer XML" selection when creating a new project in VS 2012. I downloaded and installed VS 2013 Ultimate, with SP1. I did a Repair on WIX, and I did see it referencing VS 2013. But when I go to create a new project in VS 2013, the "Windows Installer XML" does not show.
When I look at C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Wix, it only has a "ProjectTemplates" folder with three zip files in it. The same folder in VS 2012 has a number of items in it.
What do I need to do to correct this (Do the trial versions of VS preclude this from working)?
I had this problem, you cannot do a repair as it won't try to re-detect the VS2013 installation. Just uninstall Wix completely and re-install and it will then work.

Error 'LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt' after installing Visual Studio 2012 Release Preview

I've installed Visual Studio 2012 Release Preview, and it appears to be fine, but now when I try to use Visual Studio 2010 to compile C++ projects, I get the following error message:
LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
I'm not 100% sure of this, but it seems to be related to projects that have .rc (resource) files in them.
I've tried repairing Visual Studio 2010 from Add/Remove programs and rebooting, but this has no effect.
I also get the same error if I use Visual Studio 2012 RC to compile the C++ projects when set to use the Visual Studio 2010 toolset. Upgrading to the Visual Studio 2011 toolset fixes the problem (but of course I don't want to do this for production code).
Update: I've uninstalled Visual Studio 2012, rebooted, and the problem still persists! Help!
This MSDN thread explains how to fix it.
To summarize:
Either disable incremental linking, by going to
Project Properties
-> Configuration Properties
-> Linker (General)
-> Enable Incremental Linking -> "No (/INCREMENTAL:NO)"
or install VS2010 SP1.
Edits (#CraigRinger): Note that installing VS 2010 SP1 will remove the 64-bit compilers. You need to install the VS 2010 SP1 compiler pack to get them back.
This affects Microsoft Windows SDK 7.1 for Windows 7 and .NET 4.0 as well as Visual Studio 2010.
If disabling incremental linking doesn't work for you, and turning off "Embed Manifest" doesn't work either, then search your path for multiple versions of CVTRES.exe.
By debugging with the /VERBOSE linker option I found the linker was writing that error message when it tried to invoke cvtres and it failed.
It turned out that I had two versions of this utility in my path. One at C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cvtres.exe and one at C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe. After VS2012 install, the VS2010 version of cvtres.exe will no longer work. If that's the first one in your path, and the linker decides it needs to convert a .res file to COFF object format, the link will fail with LNK1123.
(Really annoying that the error message has nothing to do with the actual problem, but that's not unusual for a Microsoft product.)
Just delete/rename the older version of the utility, or re-arrange your PATH variable, so that the version that works comes first.
Be aware that for x64 tooling builds you may also have to check C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64 where there is another cvtres.exe.
Check the version of cvtrs.exe:
dir "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe"
Wrong version:
date: 03/18/2010
time: 01:16 PM
size: 31,048 bytes
name: cvtres.exe
Correct version:
date: 02/21/2011
time: 06:03 PM
size: 31,056 bytes
name: cvtres.exe
If you have wrong version you should copy the correct version from:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cvtres.exe
and replace the one here:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe
i.e.
copy "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cvtres.exe" "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe"
According to this thread in MSDN forums: VS2012 RC installation breaks VS2010 C++ projects, simply, take cvtres.exe from VS2010 SP1
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe
or from VS2012
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cvtres.exe
and copy it over the cvtres.exe in VS2010 RTM installation (the one without SP1)
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe
This way, you will effectively use the corrected version of cvtres.exe which is 11.0.51106.1.
Repeat the same steps for 64-bit version of the tool in C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cvtres.exe.
This solution is an alternative to installation of SP1 for VS2010 - in some cases you simply can't install SP1 (i.e. if you need to support pre-SP1 builds).
If you have installed Visual Studio 2012 RC, then it installed .NET 4.5 RC.
Uninstall .NET 4.5 RC, and install the version you need (4.0 for VS 2010). This should clear up any problems you are having.
This solved the same problem. There is no need to uninstall Visual Studio.
It's because of .NET Framework 4.5 is replacing .NET Framework 4.0.
I uninstalled Visual Studio 2010 several times with no luck. When I removed .NET Framework 4.5 and reinstalled Visual Studio 2010 it went fine.
See Uninstall Visual Studio 11 completely to do a fresh install.
For me, setting 'Generate Manifest' to 'No' fixed it. (Also fixed with /INCREMENTAL:NO)
If you're using x64, here's a resource will help:
This happens because Microsoft .NET 4.5 is incompatible with Visual C++ 10. The workaround is to ensure that you run the .NET version of cvtres.exe rather than the Visual C++ version. I did this by renaming the Visual C++ versions of those files and copying the .NET versions in their place.
1. C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe
2. C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cvtres.exe
1. C:\windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe
2. C:\windows\Microsoft.NET\Framework64\v4.0.30319\cvtres.exe
I solved this problem eventually by doing a full uninstall of VS2012 RC, followed by a full uninstall of VS2010, then a reinstall from scratch of VS2010.
It took forever, but I'm now able to compile C++ projects in VS2010 again.
The issue was magically resolved for me by removing .NET 4.5, and replacing it with .NET 4.0. I then had to repair Visual Studio 2010 - it being corrupted along the way somehow.
I had previously installed, and then un-installed, Visual Studio 2012 - which may be related to the issue.
I have not installed Visual Studio 2012, but I still got this error in Visual Studio 2010. I got this resolved after installing Visual Studio 2010 SP1.
I had the same problem with Microsoft Visual Studio 2010 Ultimate and it was solved by the method described in this youtube video
The video suggests to rename the file cvtres.exe in C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin (in my Win7X64 matchine) to cvtres-old.exe
It didn't work for me after Enable Incremental Linking -> "No (/INCREMENTAL:NO)", but it works for me after I deleted the rc file.
+1 to user Short for an answer that worked for me!
I tried to do some debugging of this with msbuild /v:diag, and I'm seeing that MSBuild is trying to embed a manifest in the executable, with <somename>.dll.embed.manifest.res on the linker command line, where that is a resource file built from <somename>.dll.embed.manifest. But the manifest file is an empty Unicode text file. (That is, a two-byte file with the Unicode 0xFEFF prefix)
So the root problem seems to have something to do with that manifest file not being generated, or it being used when <somename>.dll.intermediate.manifest should have been used.
An alternate solution seems to be to turn off the "Embed Manifest" option under Properties, Manifest Tool, Input and Output.
To summarize:
Step1
Project Properties
-> Configuration Properties
-> Linker (General)
-> Enable Incremental Linking -> "No (/INCREMENTAL:NO)"
if step1 not work, do Step2
Project Properties
-> Configuration Properties
-> Manifest Tool (Input and Output)
-> Enable Incremental Linking -> "No"
if step2 not work, do Step3
Copy file one of:
C:\Program Files (x86)\Microsoft Visual Studio
11.0\VC\bin\cvtres.exe
C:\Program Files (x86)\Microsoft Visual Studio
12.0\VC\bin\cvtres.exe
C:\Program Files (x86)\Microsoft Visual Studio
13.0\VC\bin\cvtres.exe
Then, replace to C:\Program Files (x86)\Microsoft Visual Studio
10.0\VC\bin\cvtres.exe
With me, do 3 step it work
As of January 2014, for some reasons I got installed .NET Framework 4.5.1, I don't know if due to a third party software installation or to an automatic update.
On January 29th, I got installed one component and I started receiving the
LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
message. At that time, I solved by avoiding the incremental link.
On Jan. 31st, I got installed another component of .NET Framework 4.5.1 and the incremental link trick did not work anymore. I then installed the Visual Studio 2010 SP1, but afterwards the problem became:
Error 6 error LNK1104: cannot open file 'msvcrtd.lib'.
I think the SP1 messed up my Visual Studio 2010 installation.
So I uninstalled .NET Framework 4.5.1, installed .NET Framework 4.0 and uninstalled and then reinstalled Visual Studio 2010. That worked for me.
Even inspite of installing Service pack you are getting the error then try removing/renaming the cvtres.exe in the C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin folder. This has worked for me.
I set Enable Incremental Linking to "No (/INCREMENTAL:NO)" and it doesn't work for me.
Next I've changed:
Project Properties
-> Configuration Properties
-> General
-> Platform Toolset -> "Visual Studio 2012 (v110)"
and it works for me :)
Reinstalling CMake worked for me. The new copy of CMake figured out that it should use Visual Studio 11 instead of 10.
I was using the Windows SDK for core Win32 programming and had .NET 4.5 installed for "unknown" reasons. I have uninstalled that and installed 4.0 like previous answers and yeah, it worked for me too.
Just am flabbergasted that I had to use the useless .NET framework for building Win32 apps using the SDK.
I solved this by doing the following:
In a command prompt, type msconfig and press enter.
Click services tab.
Look for "Application Experience" and put tick mark (that is, select this to enable).
Click OK. And restart if necessary.
Thus the problem will go forever. Do build randomly and debug your C++ projects without any disturbance.
For those of you looking for a solution for this problem with the OpenGL SuperBible 6th source code samples, the solution is building in Release instead of Debug. All projects have disabled the incremental linking option in the Release version.
My problem was that I've had two paths on my PC that contained the same libraries. Both paths were added to the Additional Library Directories in Configuration Properties -> Linker -> General. Removing one of the paths solved the problem.
I had the same problem after updating of .NET:
I uninstalled the .NET framework first,
downloaded visual studio from visualstudio.com and selected "repair".
NET framework were installed automatically with visual studio -> and now it works fine!
I tried a few times and finally solved the problem by uninstalling several times the VS2010. I think I hadn't uninstalled all the files and that's why it didn't work for the first time.
In the installation of VS2012, it is said that if you have VS2010 SP1 you can't work on the same project in both programs. It is recommended to have only one program.
Thanks!

Visual Studio 2010 + ReSharper Not Working

I've installed ReSharper 5 on two installations of Visual Studio 2010 Professional. In both cases, ReSharper claims it has installed successfully - but Visual Studio doesn't recognize the extension. It doesn't show up in the Extensions Manager, doesn't appear in Help - About - Installed products, and can't be found anywhere else in the environment.
I've tried install / uninstall of both Visual Studio and ReSharper, computer restarts, etc. Both machines have Visual Studio 2008 and ReSharper 5 works fine in these IDEs, and both machines are running Windows 7.
I've found other people online with this issue, but no solutions. Anyone know how to fix this?
Check that ReSharper is enabled in Tools->Options->ReSharper. Suspend and unsuspend it, in case that helps (I've heard that work before). Note that ReSharper will notice if more than one computer on a given network is running the same license, and disable all but one of the instances that are running. Check that hasn't happened to you.
Run devenv /resetskippkgs, solved my issues in Visual Studio 2008
I've fixed the problem by just copying the JetBrains folder from other version of Visual Studio:
This is visual studio 2010 folder for extensions:
c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\
This is visual studio 2012 folder for extensions:
c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\
I just copied from 2012 folder the 'JetBrains' and pasted to the 2010 extensions folder.

Resources