Choose VC++ runtime version of an MFC project in Visual Studio - visual-c++

I created a MFC project with VS2013 and it works fine on my computer. But it won't run on a computer without VC++ Redistribution 2013 installed.
Can I specify a lower VC++ runtime version of an MFC project in Visual Studio?

I think even if it is lower vc++ runtime version, you may face similar problem.
If you can tolerate exe file is larger than before, just change the value of Use of MFC to Use MFC in a Static Library in project property page. By doing so, you don't need to distribute mfc modules related.
Otherwise, you have to distribute relative mfc modules such as mfc100.dll.
This link may help you.

You need to create installation package for your program. As Visual Studio user, you can create an installation with InstallShield Limited Edition. Installation package should contain correct C++ and MFC runtime version for your program.
See also:
InstallShield Limited Edition http://msdn.microsoft.com/en-us/library/dn531020.aspx\
Walkthrough: Deploying Your Program (C++) http://msdn.microsoft.com/en-us/library/bb384837.aspx
Specifically, to add VC++ Runtime: On the Redistributables tab in the editor window, select the Visual C++ 11.0 CRT check box. If you use MFC, check also MFC redistribution.

Related

Create a setup file in Visual Studio 2012

I have a windows form project and I want to create an installation package for this project. How can I create a setup file in Visual Studio 2012 ? My project is without data base.
How to create a Setup package using Visual Studio 2012.NET?
Microsoft released the Visual Studio Installer Project extension in April of this year, the catch is it's for VS2013, not VS2012.
http://blogs.msdn.com/b/visualstudio/archive/2014/04/17/visual-studio-installer-projects-extension.aspx
The 'lite' InstallShield option remains in VS if you need something with more flexibility.
Advanced Installer also has a free version that includes an extension for VS. This is a commercial tool but the extension is included in the free edition as I said, for more advanced features you need to purchase a Professional or higher licenses and edit the project direct from Advanced Installer GUI, not from VS. (but you can still use the project in the VS solution, so you get the MSI built at the end of your build process)
Visual Studio setup projects (vdproj) are not supplied with VS 2012
There are several solutions for you:
You could use InstallShield instead.
If you don't want or
can't use InstallShield for any reason, you could try WiX. This
toolset builds Windows installation packages from XML source code.
If you only use Windows Presentation Foundation (.xbap), Windows Forms (.exe), console application (.exe), or Office solution (.dll) you could look at ClickOnce. To use this you should right click on the project file in the solution explorer and select "Publish" from the pop-up menu.
Alternatively you can use previous version of Visual Studio (2010).

mfc110ud.dll required for Release version of MFC app

I have a very simple MFC application built in VS12. When I’m trying to install it on a Surface tablet (Win 8.1) I’m getting an error about mfc110ud.dll being missing. I looked up this dll and it says “MFCDLL Shared Library - Debug Version”. The problem is I’m building my app in Release mode. Why do I still depend on VS?
Use the linker /verbose Option to find the module or library that requires the DLL Version of the MFC.
See this particular post:
mfc110ud.dll is missing for vc++ project on visual Studio 2012
Potentially a duplicate (recompile with "Use of MFC" as "Use MFC in a static Library" when you compile)

Is it possible to work with Qt4 projects in Visual Studio 2012 using add-ins?

I've found that Qt VS addin 1.1.x worked with Visual Studios including 2010.
Qt VS addin 1.2.x does not support Qt4 in VS 2012. Are there any forks of this addin which can cope with Qt4 in VS 2012?
How to enable debug visualizer for Qt classes in VS2012 (Qt 4.6.x):
Download and install qt-vs-addin for Qt5 for VS2012 (tested on
version 1.2.2);
Open Program Files (x86)\Microsoft Visual Studio
11.0\Common7\Packages\Debugger\autoexp.dat in editor;
Uncomment QString and QByteArray sections for Qt4 and comment out (with ';')
QString and QByteArray sections for Qt5;
Run VS2012, open Tools->Options->Debugging->Edit and Continue. In the group box for
Native-only Options, check "Enable native Editor and Continue." This
will force VS to use autoexp.dat, rather than the XML-based native
vis definitions (ie, the so-called "data viewing enhancements in the
debugger").
Profit!
Yes it is possible with the VS addin 1.2.2. I use this addin version and Qt 4.8.1 in Visual Studio 2012 together.
The addin has limitations for Qt4, but it does the whole moc and ui stuff for you.
The limitations are:
you must specify the Qt4 include directories and lib paths self (not clickable)
you have no Qt 4 file templates (but still works, after changing the include directives of the Qt4 header files according to the Qt4 file structure)

Profiling with CMake, C++, and Visual Studio 2012

I am using CMake 2.8.10.1 to generate project files for Visual Studio 2012 Ultimate (64-bit). The resulting solution contains a library, some tests, and some executables.
I would like to profile some of the applications. When I select "ANALYZE" -> "Start Performance Analysis," I encounter the error message "No launchable projects are available for profiling." How can I profile my solution generated by CMake?
It seems I've found a way to fix it. You need to add win32 configuration under your project. Then profiler will see your project as launchable.
For example, for the release configuration you should add the following
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
under
<ItemGroup Label="ProjectConfigurations">
Using the menu:
Build -> Configuration Manager
Goto row of the project to profile
In the platform column note that it will only have a x64 entry
Use dropdown <New...> and select Win32 for New platform:
-
That's a ridiculous bug in Visual Studio. QMake also suffers from this.
https://connect.microsoft.com/VisualStudio/feedback/details/823467/performance-wizard-doesnt-show-any-projects-to-profile-if-there-is-no-win32-configuration

Packaging DLL file with my application

When I moved my C++/CLI application to another Win 7 machine, it said that MSVCR100.dll is missing although that was a release version of the application. What is the file MSVCR100.dll ? Is it possible to combine it with my application,if how? Any other suggestions?
MSVCR100.dll is part of the VC++ 2010 runtime; it's a dedicated downloadable from Microsoft and required for most programs compiled with VC++ 2010.
Due to the newish side-by-side (SxS) deployment of DLLs, it's not so simple to extract the handful of files and deploy them manually.
http://www.microsoft.com/download/en/details.aspx?id=8328
Apparently, SxS is so 2008. Visual C++ 2010 just uses all different filenames for everything.
You need to ensure that the .NET Framework and the Microsoft Visual C++ 2010 Redistributable
are both installed on the new machine, either that, or package the necessary dlls with your deployment.

Resources