I am trying to create a Windows installer solution with Visual Studio. In the release, it has generated a MSM file which is not recognised by Windows. How can I use that file extention to see the release of the Windows installer.
Use the correct project type for your tool. .MSM is like LIB/DLL (LIB really) and .MSI is like EXE. Most tools don't allow you to switch back and forth like a C#/VB.NET project does. You have to create a new project and select the right type.
Related
I have a c++ program that was originally written in Linux. The program uses functions from the library libzip:
https://libzip.org
I am now working on a windows-based platform in Visual Studio 2017. Everthing works, as I could basically use the same cmake-files as I used on the Linux-platform. However, in Linux I used the package manager to install libzip. I do not have that option in Windows. I somehow need to build a Windows-version for libzip and include the files (header files and lib files) in my CMakeLists.txt file. Can someone help me with a step-by-step guide for this?
Take a look at vcpkg. It is a package manger for the Windows platform. It builds and installs many open source libraries for Windows. libzip is mentioned specifically as one of the ports.
Is it possible for you to use the Nuget Package Manager within Visual Studio?
right click on your solution
select "Manage packages for your solution"
search for libzip
select lipzip and click install
you should now be able to #include "zip.h"
I would like to use CEF with VS 2017 using C++ (not C#, so CEFSharp won't work here). I can't quite understand how to do this. From what I have read, it seems like I need to build the source into a .sln file and then modify the existing code, however their site also says there are binaries available to download, which is confusing me.
How do I program in C++ using CEF and VS 2017?
Download CEF3 binaries, and extract archive to folder
Download and install CMake
Open CMake, and set:
Where is the source code: folder
Where to build the binaries: folder/build
Press Configure
Press Generate
Open solution in folder/build/cef.sln
Build Debug/Release
Reference in your project folder/build/libcef_dll_wrapper/[Debug|Release]/libcef_dll_wrapper.lib
Copy files to your bin folder:
folder/[Debug|Release]
folder/Resources
I used these tools to allow me to build a C++ project that was part of an expert system tutorial (CLIPSCLRWrapper), and that worked fine. My question is how do I include the dependencies in an installation of my final executable so that it can be installed on a clean system, without Visual Studio?
I'm using the above wrapper DLL in a C# Windows forms application, then making an installer for the resulting executable, but it seems to be missing some dependencies when I install on another PC without Visual Studio. How can I discover which dependencies are missing that are provided by the tools for windows desktop, and how do I add them to my installer?
Dependencies can be added to the installer, by adding them to "Application Folder". First, open "File System" of the installer, then you will find sub folders one of them called "Application Folder". Inside the "Application Folder", you could put all the application dependencies.
Good luck
I am developing a Windows C++ utility using MFC Framework in Visual Studio 6.0(Need to have this combination because of some internal requirements).
My utility installs some softwares, and then configure them from registry. Hence I need to bundle the dependent installer files along with my executable. How can I bundle them all together, so that we can provide an executable to our users which will include all required installer files along with the utility.
PS: I am new to Visual Studio Development environment.
If you just want to create an installer use something like InnoSetup to create a single EXE that can deploy multiple files.
I am importing a C++ project that was created in Visual Studio on a Windows machine, into my Code::Blocks IDE using Linux Ubuntu 13.10. After importing the .sln file, Code::Blocks was able to detect the files but it could not read them due to the \'s in the .vcsproj file (which was created in VS on the Windows machine).
After replacing all of the \'s in the .vcsproj with /'s, everything works fine, but was this the correct solution? This is an open source project, so I wonder if there is a platform-independent solution, or should we expect each user to build the project themselves? Should the .vcsproj or .sln file be excluded from the repository?
Welcome to the world of cross platform development!
Consider using something like Cmake or Premake to generate the project files for the platform you are developing on.
This way any developer can take the CMake\Premake script and generate vcxproj files if they are on Windows or Codeblocks proj files for Linux/Windows, or even Gnu Makefiles if they are so inclined.