I developed VSTO Excel Add-In and usually I do installers with Advanced Installer, but my current client insist on VS Installer, which is dreadful... I target x64 Office, and have .NET 4.8 prerequisite and VSTO 2010 Runtime prerequisite. So, the questions are:
- How do I create a single .MSI (without setup.exe bootstrap)
- Do I really need to search for presence of prerequisites?
- I have Launch condition:
But then, I also defined the following in Setup > Properties > Prerequisites:
So how do they co-exist together? It's been at least 10 years since I touched VS Installer, and it is still the same cryptic creature...
If you want prerequisites, you will have EXE. This is just how MS installer project works. To disable EXE, uncheck the top box in that dialog ("Create Setup program to install prerequisite components")
It depends. NET Framework 4.8 is installed with Window 10 updates after 2019, VSTO Runtime is preinstalled with Office 2010 and later. Here is a Microsoft article regarding preinstalled .NET frameworks
Launch condition applies to MSI itself (not EXE), so if you don't have prerequisites installed, MSI will refuse to install, telling the user where he should go to install the required prerequisite.
Other than that, maybe your client actually meant built-in Visual Studio packaging for VSTO (not Visual Studio installer extension), like when you right-click your project and use "Publish" you get a One-Click installer (not MSI)?