I'm trying to use Visual Studio 2015 to compile a VC++ project that, however, targets the Visual Studio 2013 build tools.
I noticed that the Visual Studio 2013 (12.0) tools and libs seem to have been installed alongside VS2015, as I see the C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib directory, with all the libs. Seems fine.
But... it's not. Two lib files are be missing: msvcmrt.lib and msvcmrtd.lib, and without these I cannot compile the project.
My question is: how do I acquire these? Do I have to install VS 2013 from scratch? Or is there a more convenient package available to install? Or is my VS2015 installation damaged, and the files should have been there?
I had a similar issue and I solved it by simply copying msvcmrt*.lib from a machine with vs2013 installed.
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib
There'll be 6 files to copy (x86/arm/x64) * (debug/release)
Related
How can the entry
<MsTestExePath>$(MSBuildProgramFiles32)Microsoft Visual Studio 14.0\Common7\IDE\mstest.exe</MsTestExePath>
in a .proj file be generalised, such that the build works for different licenses of Visual Studio 2019 as well, where mstest.exe is located at
C:\Program Files (x86)\Microsoft Visual
Studio\2019\Enterprise\Common7\IDE\MSTest.exe
in the case of an enterprise license?
The most generic solution may be to replace the variable parts of the path with msbuild macros, but which ones would that be?
According to this documentation,
The macro
$(VSInstallDir)
returns the path to the installation folder of the Visual Studio version currently used.
The following entry should therefore work for all versions of visual studio, for which mstest.exe is located in the subfolder \Common7\IDE\ under the installation directory:
<MsTestExePath>$(VSInstallDir)Common7\IDE\mstest.exe</MsTestExePath>
I am attempting to cross-compile a Windows application on Linux using Clang, and based on their CMake file, it looks like I need to copy the header and lib files from a Visual Studio installation. I have Visual Studio 2015, but it looks like the list of redistributable files doesn't include those. They are in "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include" for me, and that's not on the list. So, am I allowed to use those header/lib files on a machine that doesn't have a Visual Studio license, or is there some other way to get these files?
In Visual Studio 2017's New Project dialog, there is no entry for Windows Installer XML (WiX).
Is it possible to enable WiX projects in Visual Studio 2017?
You can manually enable Visual Studio 2017 compatibility with WiX 3.10 or earlier:
Close all instances of Visual Studio.
Copy
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\WiX to
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\Microsoft\WiX
(In the destination path, replace "Enterprise" with "Professional" or "Community" depending on your edition.)
You may need to provide Administrator permission:
The result will look like this:
Copy C:\Program Files (x86)\MSBuild\Microsoft\WiX to C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\WiX
Then execute the following command as Administrator:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv" /setup
(Again, replace "Enterprise" with "Professional" or "Community" depending on your edition.)
When you open Visual Studio 2017, WiX 3.10 and earlier projects will be compatible.
WiX v3.11.0.1507 provides full support for the VS 2017 Extension For WiX.
The Release Notes provide insight into why it has taken so long to provide the extension and compatibility with the extension and older versions of WiX
Note: You can use the "WiX Toolset Visual Studio 2017 Extension" with previous versions of the WiX Toolset but there is a forwards compatibility issue when building managed custom actions that is only fixed in the WiX v3.11 RC release. In other words, if you have managed custom actions and you want to use VS 2017 then you must upgrade to WiX v3.11 RC.
Edit:
The VS 2019 Extension is now available.
Edit:
The VS 2022 Extension is now available.
The Wix Releases Page has links to the other extensions.
I found that I also had to copy the WiX folder from "C:\Program Files (x86)\MSBuild\Microsoft" "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft". Without this, I got an error trying to load my WiX project that one of the MSBuild targets files couldn't be found.
WiX now offers support for Visual Studio 2017.
All you have to do is:
Close Visual Studio 2017
Install the WiX Toolset Build Tools
Install the WiX Toolset Visual Studio 2017 Extension
The answer by Chris works, but on my machine, for some reason, the Wix folder in "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\WiX" had only one template named "CustomActionCPP.zip". I had to search for a complete Wix folder in other older versions of Visual Studio. It worked for me by copying Wix from "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\WiX\ProjectTemplates".
Also, had to apply the answer by Basim, by copying Wix from "C:\Program Files (x86)\MSBuild\Microsoft" to "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft".
I have installed ONLY VS2017 and had to copy from another machine where VS2015 was installed the mentionen folder of #Chris Schiffhauer. The same for the folder of #Basim mentioned.
Addiontally I had to copy the "C:\Program Files (x86)\Wix Toolset 3.10\" because when I have installed WiX on my machine in this folder were still some assemblies missing.
Install the Wix Toolset Visual Studio 2019 Extension and reload the project
right-click the project folder in the path and uncheck the read-only
after install the Extension reload the Wix
use the below URL download
https://marketplace.visualstudio.com/items?itemName=WixToolset.WixToolsetVisualStudio2019Extension
I'm trying to make a universal Windows App with WinJS. I've downloaded the latest update to VS2013. The RC version. I've installed all the SDKs I can find. I've installed the WinLibJS_VSE.exe extension, as well. Funny thing about that one is that VS updates keeps saying that I didn't...
When I open up any of the sample universal WinJS apps - like the ones here http://code.msdn.microsoft.com/wpapps/Universal-Windows-app-cb3248c3 - I always end up with this error:
Could not find SDK "Microsoft.Phone.WinJS.2.1, Version=1.0". C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets
I tried finding this SDK on my machine, but I'm not finding it at all. Nor am I finding it online. I copied some SDKs from C:\Program Files (x86) into C:\Program Files (x86)\Microsoft SDKs to no avail.
Any ideas?
The Windows Phone SDK should have been installed when you installed the Visual Studio 2013 Ultimate Update 2 RC.
The files should be located here:
C:\Program Files (x86)\Microsoft SDKs\WindowsPhoneApp\v8.1\ExtensionSDKs\Microsoft.Phone.WinJS.2.1\1.0\DesignTime\CommonConfiguration\Neutral\Microsoft.Phone.WinJS.2.1\js
When you create a C# project, is it a Silverlight project or a Windows Runtime project?
Okay, I've been talking to the Visual Studio team about this.
Did you happen to install the "Visual Studio 2013 Extensions for the Windows Library for JavaScript"?
http://www.microsoft.com/en-us/download/details.aspx?id=40793
(In the Programs and Features list, it will appear as "Visual Studio Extension for Windows Library for JavaScript".)
If so, you'll need to uninstall it. The order for uninstall is:
Visual Studio 2013
Visual Studio Update 2 RC
"Visual Studio Extension for the Windows Library for JavaScript"
After the uninstall, reinstall in this order:
Visual Studio 2013
Visual Studio Update 2 RC
Of course, all of this assumes that you've already upgraded your development environment to Windows 8.1. These projects will only work on a Windows 8.1 machine.
I hope that this helps. If not, we can try something else.
The final release of Visual Studio seems to have resolved this issue.
http://www.visualstudio.com/en-us/downloads/download-visual-studio-vs
I had the same problem and I tried all above none of them work. However the following worked for me:
1-) Uninstall Visual Studio extensions for Javascript
2-) Uninstall visual studio 2013
3-) Install visual studio 2013 with Update 2 RC from the following link (it is VS + update 2 bundled)
http://www.microsoft.com/en-us/download/confirmation.aspx?id=42303
Above link is for Premium edition. Find the relevant link accoringly.
P.S It is quite lame that when you uninstall Visual studio , it doesn't uninstall some of its addins. And you have lot of remaining artifacts :(
Andy (and potentially others running into this issue)....
We are currently investigating into this issue to understand the root cause. If this issue is blocking you from development, the recommendation is to perform the following steps "carefully". If these steps do not help, then please let us know!
Uninstall Visual Studio 2013 from Programs and Features
Reboot machine if prompted
Delete or rename these folders-
I. \Documents\Visual Studio 2013
II. C:\Program Files (x86)\Microsoft Visual Studio 12.0
III. C:\Program Files\Microsoft Visual Studio 12.0
IV. \AppData\Roaming\Microsoft\VisualStudio\12.0
V. \AppData\Local\Microsoft\VisualStudio\12.0
VI. C:\Program Files (x86)\Microsoft Visual Studio 12.0
VII. C:\Program Files (x86)\Microsoft XDE\8.1
VIII. C:\Program Files (x86)\Microsoft SDKs\Windows Phone\
IX. C:\Program Files (x86)\Microsoft SDKs\WindowsPhoneAppx\
X. C:\Program Files (x86)\Windows Phone Silverlight Kits
XI. C:\Program Files (x86)\Windows Phone Kits
XII. C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone
XIII. C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhoneAppx
XIV. C:\Program Files (x86)\Common Files\Microsoft Shared\Phone Tools
Go to the registry editor (start >> run >> regedit) and remove/rename the following registries-
I. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\12.0
II. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\12.0
III. HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0
IV. HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0_Config
Download the .iso image of Visual Studio 2013 preferably using the relevant MSDN account
Extract the .iso file by using an extraction tool, such as WinRar (http://www.rarlab.com/rar/winrar-x64-401.exe) remember to associate .iso extension with WinRar during its setup
Install Visual Studio 2013 using this extracted setup
Install the Visual Studio Update 2 RC from here: _http://www.microsoft.com/en-us/download/details.aspx?id=42307
Check if the templates are appearing
You can then install the Windows Phone standalone SDK from here: _https://dev.windowsphone.com/en-us/downloadsdk or through the Visual Studio extensions.
I used to compile for x64 using VS2008 express and win SDK. Recently rebuilt my machine (upgraded to 64bit Windows 7) and got latest express installed. Followed the same procedure to allow x64 targets and my sources don't link any more.
no matter what I do I always get:
LINK : fatal error LNK1181: cannot open input file 'kernel32.lib'
funny enough 32bit compilation works fine.
Is this some well know problem? Google didn't give me any clues how to tackle it just a couple of mentions of the same problem but no solutions.
Is it possible to use VS 2010 with win 7 SDK to target 64bit?
thanks
Pawel
the solution was dead easy at the end. The trick is to point VS to win SDK that for some reason was incorrect in my case.
Project Properties -> VC++ Directories -> Library Directories should point to C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\x64
Something else I found, also dead easy, is to go to Project Properties->General and set Platform Toolset to Windows7.1SDK. Wonder why this works...
I've had the same problem and the answers here helped me, but I had to do more things.
Something had corrupted my Windows SDK installation, so I was missing all .lib files that go into C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\ (the x64 folder inside was ok). So I followed what's been said here and reinstalled it. Than I could set Platform Toolset to Windows7.1SDK (in both VS2010 and VS2013).
This works because the Platform Toolset changes the $(WindowsSdkDir) path within Visual Studio (those paths saved are in the system registry), which were broken if Kernel32.lib isn't found.
If none of the above solutions worked. Stop and do a sanity check. I got burned using the wrong -G config string and it gave me this misleading error.
First, run from the VS Command Prompt not the regular command prompt. You can find it in
Start Menu -> Visual Studio 2015 -> MSBuild Command Prompt for VS2015
This sets up all the correct paths to VS tools, etc.
Now see what generators are available from cmake...
cmake -help
...<snip>...
The following generators are available on this platform:
Visual Studio 15 [arch] = Generates Visual Studio 15 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
Optional [arch] can be "Win64" or "ARM".
Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.
Optional [arch] can be "Win64" or "IA64".
...
Then chose the appropriate string with the arch added.
mkdir _build
cd _build
cmake .. -G "Visual Studio 15 Win64"
Running cmake in a subdirectory makes it easier to do a 'clean' since you can just delete everything in that directory.
I upgraded to Visual Studio 15 but wasn't paying attention and was trying to generate for 2012.
FWIW, I had the same problem with Visual Studio 2013 when the entire v8.1 SDK install (files + reg keys) went AWOL, probably caused by the installation of Emborlandero RAD Studio.
Setting the WindowsSdkDir environment variable had no effect since both Studio itself (devenv.exe, environment inspected via Process Explorer) and a batch file called from a batch file called from vcvarsall.bat effectively erased that variable because they couldn't find the v8.1 SDK.
Visual Studio doesn't allow machine-specific directories to be configured in a machine-wide way (the suggestion to put this machine dependency into each and every project file is ludicrous beyond belief) and re-installing the v8.1 SDK was not possible in a timely fashion. A quick fix to get Studio working again in the meantime was to add the string value InstallationFolder under
Software/Microsoft/Microsoft SDKs/Windows/v8.1/
with the same contents as its v8.0 cousin. This was under HKLM/Wow6432Node but plain HKLM or HKCU should work as well.
That got Studio working again immediately, without even a restart.