I have a solution with .NET projects and a setup project(Visual Studio Installer 2010). My previous version of the same project was 1.7.9 and the new version is 1.8.4. I also create a shortcut on the desktop to one application in my MSI. I changed all the versions in the assemblyinfo.cs and also changed the product version in the Setup Project, the product code got changed automatically and the upgrade code is the same. The problem I'm facing is that the Targetdir is updated with 1.8.4 files. But on the desktop I see 2 shortcuts (1.7.9 & 1.8.4) and in control panel I see two versions of the same application. I have set the RemovePreviousVersion flag to true and also set the DetectNewerVersion to true. Can someone please help me out with this? After changing the assemblyinfo file why isn't it upgrading properly?
Visual Studio Setup Projects are a deprecated feature that hasn't seen any love since before Visual Studio 2008 was released. I understand it's a feature that ships with Visual Studio all the way up to 2010, but it's probably a much better idea to switch to another product, such as WiX (free and open source), NullSoft Installer a 3rd party commercial solution.
From what I gather, you did the correct things building your installer and setting up the configuration. You might want to check that the previous installer really has the same GUID you're expecting it to have.
Related
I have read similar questions on SO and other forums but can't what I want. I have obfuscated my binaries using 3rd party tools, and want to use these binaries in the setup.
Visual Studio Installer lets us choose the projects we want to deploy, and creates the installer using the outputs of those projects.
WiX creates a setup using the files I want but does not have an option to install .NET framework, if it doesn't already exists.
Is there a way I can use my own assemblies in Visual Studio Installer ? Or a similar alternative ?
EDIT:
I have already packed all dependencies in the binary. I don't want the installer to find the dependencies for linking them. I just want it to install .net (if not already installed) and place the binaries in a directory.
Not exactly the answer you'd hope for, but you mentioned WIX and dependency to .net framework. For that reason people write bootstrappers (i.e. a binary compiled to native win32) using something like Autoit which makes sure of the framework. All you may have to do is read registry key of corresponding framework and if required it pull down the file and install. Then execute the msi !
You can use the good old Visual Studio Setup Project (Installer Project) template.
To do so, you need to download the Microsoft Visual Studio Installer Projects depending to your VS version from one of the following links:
Microsoft Visual Studio Installer Projects 2013
Microsoft Visual Studio Installer Projects 2015
Microsoft Visual Studio Installer Projects 2017 and 2019
Microsoft Visual Studio Installer Projects 2022
The project could be used to deploy anything, including your project or instead of adding Project Output you can simply right click on your setup project node in solution explorer and under Add menu, add File or Assembly.
Then all dependencies will be added automatically. You can also add other files and artifacts that you need to be installed on target machine.
I have developed a windows application (one type of CRM System) but now I want to create its setup file so it can be easily installed on client's machine. I have searched online and found out the way using InstallShield. But it is giving the free trial and then it is offering the paid version. Is there any other way to create Setup file without using InstallShield?
You can use the extension Visual Studio Installer Projects Extension: VSI_Bundle.
See the The Visual Studio Blog
It worked good for me.
See my answer in this post: https://stackoverflow.com/a/28029063/200824
You can use visual studio 2015 and install installer projects extension.
You should also take a look at https://wixtoolset.org. A lot of new, helpful elements (grammar is XML) were added to simplify development. So while it's not drag-and-drop design, it's fairly easy to use and 3.x builds MSIs that are still the mainstay on Windows. 4.x pre-releases can also build other formats such as AppX (though, that is only supported on Windows 10 to install).
My working computer had Visual Studio 2010 installed previously. It was working fine.
To gain full support for C++11, the 2012 was installed to this computer recently (VS2010 was not removed, since some old project need it).
My problem is:
If I launch VS2012, the Visual Studio user values (e.G. $(VSInstallDir), $(VCInstallDir), $(ExecutablePath) etc.) are the VS2010's values, not the values suitable for VS2012.
What is the reason for it? And how can I solve this problem? The VS2012 must use its' own user values.
Since multiple installations are there, you can select the Platform Toolset from
Project Property Pages\ Configuration Properties\General\Platform Toolset
If it still doesn't work, do the following as last resort:
Edit the following file to change the macros:
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Common.props
For me it is V120. Whatever version it is for you, change it accordingly.
I've a windows application project developed in c# and VS2010 environment. Now I need to prepare a setup for it. I've prepared it via creating "setup project" within VS2010 and it works fine.
The problem is, when I wanted to migrate my project to VS2012, I noticed that Microsoft is no longer supporting "setup projects" inside VS2012 anymore. InstallShield technology seems to appear.
My question is, has anyone tried to use an existing setup project which is created by VS2010 in VS2012? Does it work? Any problems? Is that still supported for VS2012?
By the way, I researched in web and found out that WiX is another solution for preperation on setups. Does anyone use that? Can I integrate my VS2010 .SLN file into ViX? Will that work when I migrate my project to VS2012? If so, how?
My project will be commercial so that any another well 3rd party solutions are fine by me.
I think you should migrate to WiX, as it is available both for Visual Studio 2010 and the later versions of Visual Studio. It also creates MSI installers and is much more customizable than the setups created by the Visual Studio 2010 template.
Actually it is the other way: You don't integrate a solution with WiX, but a WiX installation project will be just like any other project in your solution. Pretty much the same a with the Visual Studio setup project type.
I have a C# application that requires .net version 4 in order to run. I know how to create a basic installer using the Visual Stuido Installer Setup Project that comes with Visual Studio and that installs my application fine, however, I can't get it to check if .net version 4 is already installed in the client machine and if not install it. Does anyone have any suggestions? Should I use a different approach besides this method? Purchasing a license for InstallShield is not an option as that is too expensive. Thanks
You should follow this guide on MSDN. It should tell you what you need to know about creating an installer to check for .NET 4.
The long and short of it is, if you set it as a prerequisite, the installer will check that it is installed.