

How to target Windows XP in Microsoft Visual Studio C++.Running small C++ programs in Visual Studio without creating projects.Solving the Visual Studio 2010 AlwaysCreate rebuild issue.Visual Studio projects with multiple folders.What is the Microsoft Visual Studio equivalent to GCC ld option -whole-archive.Cannot open Windows.h in Microsoft Visual Studio.Sharing precompiled headers between projects in Visual Studio.Microsoft Visual Studio ~ C/C++ Runtime Library ~ Static/dynamic linking.Visual Studio 2010 not autolinking static libraries from projects that are dependencies as it should be supposed to.Using Visual Studio project properties effectively for multiple projects and configurations.Remove secure warnings (_CRT_SECURE_NO_WARNINGS) from projects by default in Visual Studio.Microsoft Visual C++ Redistributable for Visual Studio 2012 Update 4 Installer displaying in Chinese.MSI Upgrade Types: Shamelessly stolen from the InstallShield help file (towards bottom): MSI Tools: Here is a short "review" of other MSI tools. Heads-Up: Before ending, it is standard procedure to warn about the potential limitations of VSInstaller Projects ( shorter list form). Testing: Remember to simulate your full upgrade process from first version installed to the new one with different version numbers for a few core files and also try to add a few files and such things. Clean out your box of old remnants before testing or test on a virtual. Keep the UpgradeCode the same - it needs to be stable across releases.

Answer yes when asked to change product code, or do so yourself manually.In the same place: bump up your version number (one of the first 3 digits).Set "RemovePreviousVersions" to True in the project properties.The message you are receiving is basically because you have a different package code for the new MSI, but not a new product code or version number (or just one of those problems). There are further upgrade types, but stick to major upgrades for simplicity. Major Upgrade: In order to upgrade properly, you need to use a major upgrade so that your new version uninstalls the old one and then installs itself (this can happen in reverse order too: new version installed and old remnants deleted afterwards, but this is another story).
