For Visual Studio 2022 support for Visual Studio Installer Projects must now be installed as an official Microsoft extension from here:
https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2022InstallerProjects
I found this by googling "Visual Studio 2022 Installer Project".
Answer from David on Stack OverflowSetup projects on Visual Studio 2022 - Stack Overflow
Good installer for visual studio 2019 c# projects
c# - How do I turn my release project into an installer in Visual Studio 2019 Community Edition? - Stack Overflow
installation - Generate application Installer with MS VS Installer Projects from command line - Stack Overflow
Videos
The best way is to create a setup package, it can be an MSI, EXE or MSIX. You can do this directly from Visual Studio, without using any third party software.
You can create an MSI or EXE using Microsoft's Installer Project template. This is recommended if you are targeting users running on olders OSes like Windows 7/8, etc... or if your application has deep system integrations, like services, shell menu extensions, etc... or it simply needs to be installed per machine (for all users)
If you are targeting only Windows 10 users (1709 or newer) and your application dos not require administrative APIs (resources like services, shell, etcc or sharing files with other applications) you could use Microsoft's support to build MSIX packages.
Deploying and updating and MSIX is much simpler both for you and for the end-users, but it comes with some limitations, as mentioned above, for security reasons.
Also, MSIX requires all setup packages to be digitally signed. You can use a code signing certificate purchased from a certified vendor or your can generate your own certificate (but this needs to be accepted by the end-user machines, so you need a way to deploy this certificate to their machines before giving them the MSIX. If you are inside an enterprise network, this can be easily done, for home users is not recommended).
If you are interested in MSIX, let me know and I can give you more details about digital signing or other questions you might have.
You need an extension that didn't get installed by default:
Microsoft Visual Studio Installer Projects.
Read this topic in microsoft forum (and yes is a Microsoft extension not a third party one)
is-it-possible-to-create-a-setup-filemsi
Short Version: In essence you will need a deployment tool. List view of major deployment tools. Maybe that list view is the easiest overview? (a sense of scope). Much more detail below (and too many links too).
Details: There is some prerequisite functionality available in Microsoft Visual Studio 2017 Installer Projects, but I am unfamiliar with the details. I find this project type inadequate for real deployment work for a lot of reasons (lacking features and some odd implementations). More on this here - a few concrete problems to consider.
Several commercial tools will do this for you with special features to help make it quick(er). I verified that Advanced Installer can do it (and here is a great gateway to all things Advanced Installer. Some free features available). I assume Installshield can do it as well (certainly for other runtimes, didn't verify this particular one). Generally it will be handled by a setup.exe bootstrapper / chainer embedding all runtimes along with your own MSI file(s).
In other tools, you will have to do it yourself, by figuring out command lines and how to handle error conditions. There are some hints here (not tested by me - a google sweep will give you more): https://www.itninja.com/software/microsoft/access-runtime/2016-1
Get more command line info by going accessruntime_4288-1001_x64_en-us.exe /?:
WiX is free and open source - with a relatively hefty learning curve if you don't know MSI, and contains a bootstrapper feature called "Burn". Here is the documentation for: How To: Install the .NET Framework Using Burn (first read the "Building Installation Package Bundles" instructions in "Step 1"). A real-world Burn sample. And some sample source markup.
Some developers recommend the dotnetinstaller bootstrapper. Not something I know much about. It is just a bootstrapper. Runs things in sequence for you.
If you are doing in-house or ad-hoc deployment, even a batch file could do the job I suppose, but if you do that for a real product for large-scale and generalized deployment I would be very worried indeed. If there is one thing we hate as deployment specialists, I'd say it is batch files embedded in packages. Batch files (and scripts) are system administrator tools, not general deployment tools.
Some Older Links:
- Executable files to MSI installer
- How do Installation Software Programs Extract Files?
- Create MSI or setup project with Visual Studio 2012
- How to make an installer that automatically install all the prerequisite programs for the application
- Windows service NOT shown in add remove programs under control panel
- How to make an installer that automatically install all the prerequisite programs for the application
- Wix - How to run/install application without UI
Visual Studio setup projects have a Prerequisites choice in the project's properties. This allows you to choose from a list of standard prerequisites and generate a setup.exe that will install the prerequisites and then install your MSI. The Access Runtime doesn't appear in later versions of setup projects because (I assume) Access 2013 ended mainstream support in 2018. The way to add your own prerequisites to this mechanism was with the Bootstrap Manifest Generator, which is perhaps still available but not well documented:
https://msdn.microsoft.com/en-us/library/ms165429.aspx
Apart from that I'd recommend that you learn how to build a WiX Burn bootstrapper executable that will install the Access Runtime and then install your MSI (which you still build with Visual Studio if you need to). If you do a search for that you'll find this kind of thing:
WiX - Install Prerequisites and 3rd party applications
https://www.c-sharpcorner.com/UploadFile/cb88b2/installing-prerequisites-using-wix-bootstrapper-project-and/
These will explain how to build the Xml to check whether the Access Runtime is installed and the command to use to install it. This is a much better choice than the Bootstrap Manifest Generator.
The answer was:
In addition to the changes you made (updating the AssemblyFileVersion and AssemblyVersion properties in the output assembly) you also need to update the version of the setup project.
- Select the setup project in solution explorer and hit F4 to bring up the properties
- Increase "Version"
- Say yes to the dialog that comes up asking if you want to update the Product Code
- Save and build the setup project again.
This will enable the upgrade scenario.
And this does work. The reason I'm adding it here is that F4 is not listed on the .vdproj context menu so it's effectively undiscoverable.
There's one more quirk: if you're using Git, then it might not automatically check out the deployment project file (.vdproj), so you have to manually edit it (adding a space is enough) and reload the project, and then make the changes, which rewrites the project anyway.
To expand on @stuartd's answer and @Joel's comment, make sure that RemovePreviousVersions and DetectNewerInstalledVersion are set to true in the .vdproj Properties (F4). That should take care of any previous versions sticking around in the control panel's add/remove programs utility. The UpgradeCode should stay the same across versions and even frameworks.
From: VS 2010 Setup Project is NOT removing previous versions
I found that the setup project is an InstallShield Limited Edition project, not a Microsoft setup and deployment project. After installing ILE, I was able to open the project in VS2013 and in VS2015. (It didn't open in VS2017 nor VS2019, and that must be because ILE isn't compatible with those versions.)
Visual Studio 2013-2020 годы они все загружаются при скачивании программ для игр, но увы я не знаю с какими программами они загружаются ещё, но когда с играми загружается эти программы работают нормально.