Create Setup/MSI installer in Visual Studio 2017 - installation

I have written an outlook add-in VSTO in Visual Studio Pro 2017 (VB.NET). I have published it which creates a setup.exe which is OK but I would like to create a proper installer that copies the files locally and can be run silently etc.
How do I go about doing this? When I go to create new project there is no installer project option.

You need to install this extension to Visual Studio 2017/2019 in order to get access to the Installer Projects.
According to the page:
This extension provides the same functionality that currently exists in Visual Studio 2015 for Visual Studio Installer projects. To use this extension, you can either open the Extensions and Updates dialog, select the online node, and search for "Visual Studio Installer Projects Extension," or you can download directly from this page.
Once you have finished installing the extension and restarted Visual Studio, you will be able to open existing Visual Studio Installer projects, or create new ones.

Other answers posted here for this question did not work for me using the latest Visual Studio 2017 Enterprise edition (as of 2018-09-18).
Instead, I used this method:
Close all but one instance of Visual Studio.
In the running instance, access the menu Tools->Extensions and Updates.
In that dialog, choose Online->Visual Studio Marketplace->Tools->Setup & Deployment.
From the list that appears, select Microsoft Visual Studio 2017 Installer Projects.
Once installed, close and restart Visual Studio. Go to File->New Project and search for the word Installer. You'll know you have the correct templates installed if you see a list that looks something like this:

Related

Choose specific VSTO-Version when opening TFS-Project

I do have a TFS Project (TFS 2013) and I would like to set up my Visual Studio 2015 to work at that project. I have Visual Studio 2017 and Visual Studio 2015 installed. Now whenever I go to the main page of my Project and click "Open in Visual Studio" (like described here), Visual Studio 2017 opens. I would like to have it open in VSTO 2015. How can I select which version of Visual Studio should open?
The solution file should contain a UTF-8 signature that describes in which version the solution is to be opened. This is what's used for example to show different icons for solution files targeting different Visual Studio versions.
This signature info is also used by the Visual Studio Version Selector when opening a solution. An easy way to fix this is make sure that have the solution local on your dev machine and then right click -> open with and choose the Visual Studio Version Selector. Then pick the correct version of Visual Studio that you want to use.
This will then be honored by your browser when opening a solution since this also uses the Visual Studio Version Selector.

Visual Studio Installer Project Extension running in VS 2017 Pro thinks it's running in VS 2013 Pro

Got a big problem with the Visual Studio 2017 Installer Projects Extension for Visual Studio 2017 Professional. I added a Visual Studio Installer Setup project to a solution and set it up the way it's basically supposed to be done (Primary Output in the Application Folder and an icon in the Desktop Folder is all that was needed). Then I right-clicked on the Setup project, clicked "Build" and then I get this:
Please wait while Windows configures Microsoft Visual Studio Professional 2013.
And then it stalls indefinitely. I have to close Visual Studio in Task Manager to stop everything. What's more, I'm Visual Studio Professional 2017, not 2013. I used to have Visual Studio 2013 Ultimate, but I uninstalled it. What could possibly be causing the confusion?
It appears that you have also got Visual Studio 2013 installed, and that there is as conflict between 2013 and 2017 because that message is a Windows Installer repair of VS 2013. Something is happening during your build that requires the VS 2013 installation to be repaired. The Windows Event Log (Application) will have an MsiInstaller log entry saying which component appears to be broken. If you post that information there may be a clue to the problem. If you (for example) have manually removed anything that may belong to the VS 2013 installed product then that would cause the same kind of problem.
You have this similar problem:
Rebuilding Visual Studio Installer project, launches Visual Studio 2013 seetup
Visual Studio 2015 msi build initiates another installation
When you say it stalls indefinitely, I would expect it to ask for the Visual Studio 2013 install image so that it can repair it. If you go to Programs&Features and manually repair VS 2013 it might fix the problem.
I also had Visual Studio 2013 installed as mentioned by #PhilDW.
Navigating to Event Viewer → Windows Logs → Application I found loads of warnings:
Detection of product '{9C593464-7F2F-37B3-89F8-7E894E3B09EA}', feature 'Visual_Studio_Professional_x86_enu', component '{E3FF99AA-78B9-4A06-8A74-869E9F65E1FE}' failed. The resource 'C:\WINDOWS\Microsoft.NET\Framework\URTInstallPath_GAC\' does not exist.
The key here being that the folder C:\WINDOWS\Microsoft.NET\Framework\URTInstallPath_GAC\ did not exist thanks to an answer in the first link provided by #PhilDW.
Created the missing final folder URTInstallPath_GAC in the path mentioned and the installers now build really fast whereas before they used to take forever (sometimes literally!).

How to remove ApexSQL menus from Visual Studio?

I installed the free version of ApexSQL which is awesome in SSMS, but I really don't want all those menus in Visual Studio. I went to add-in manager and unchecked them, but the Startup column is checked and disabled so every time I restart Visual Studio they come back.
Is it possible to permanently remove the ApexSQL menus from Visual Studio?
If you have ApexSql installed and you don't want those pesky menus in Visual Studio do 2 things.
In Visual Studio, go to Tools > Add-in Manager and uncheck the ApexSql addins. Close Visual Studio.
In Windows 7, there's a hidden folder C:\ProgramData. In Windows Explorer go to C:\ProgramData\Microsoft\MSEnvShared\AddIns folder. Edit each of the *.MsvsLoader.Addin files and set <LoadBehavior> to 0. If you can't save the files directly, you'll have to save the files to a different location (desktop maybe) and then copy them back into C:\ProgramData\Microsoft\MSEnvShared\AddIns because there's some Admin privilege required.
Now when you restart VS those ApexSQL menus should be gone
The issue of crowding menus is resolved in latest releases, now all ApexSQL add-ins are under the main ApexSQL menu as sub-menus. They look like this now:
If you don't need ApexSQL add-ins in VS or SSMS you can simply choose not to integrate them with VS or SSMS during the installation, just check out SSMS ot VS version in which you want the add-ins integrated
Note: To get this dialog in which you can check the wanted integration you need to use individual installers not the main one. You can find all individual installers on this link
Disclaimer: I work for ApexSQL as a Support Engineer
For Visual Studio 2010 on Windows 7, I attempted #Chris Bayles suggestion and do not see ApexSql addins under Tools->Add-in Manager.
I followed #Jerome2606's pointer to https://knowledgebase.apexsql.com/remove-add-ins-just-visual-studio-retaining-sql-server-management-studio/ and it worked for me, but only when I removed the parent ApexSQL folder as well.
Summary of what is required to do:
Remove folder
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\ApexSQL
Depending on the version of Visual Studio, the version number in the default installation location will be different:
Product name Version number
Visual Studio 2010 Microsoft Visual Studio 10.0
Visual Studio 2012 Microsoft Visual Studio 11.0
Visual Studio 2013 Microsoft Visual Studio 12.0
Visual Studio 2015 Microsoft Visual Studio 14.0
Select and delete the ApexSQL folder and its contents.
Open Command Prompt as an administrator, then run
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" /setup
Please note the command is different for Visual Studio 2012, 2013, and 2015.
If you are using SSMS v18.0 then you can disable the apex features in following way.
You can find the ApexSQL.Complete.Addin.SSMS18.pkgdef file from following path.
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Extensions\ApexSQL Complete
Then open this file in Notepad++ Administrator mode and comment the content.
If you need further reading follow this link.
https://knowledgebase.apexsql.com/remove-apexsql-tools-sql-server-management-studio/

Visual Studio 2012 "Invalid license data. Reinstall is required"

I have a newly built Windows 8 VM with VS 2012 Premium running on it, when I try open any sln file I get the following modal pop up error
Visual Studio 2010 Shell
Invalid license data. Reinstall is required.
I can open the sln's if I open up VS and then do project open, this is really annoying, any ideas how I fix it?
*Note I have done a VS repair and it didn't solve it...and I never had any VS RC release on the machine, all new build with s/w downloaded from the MSDN
Cheers
I encountered the same exact error when I created a solution with a full version of Visual Studio 2012 Professional on one machine and then tried to open the solution file with a copy of Visual Studio 2012 Express on a different machine. I got the error when double-clicking the solution file, but not when loading the solution into an already opened instance.
I fixed the error by opening the solution file (.sln) with notepad and changing the line that says Visual Studio 2012 to say Visual Studio Express 2012 for Windows Desktop.
After that, I was able to double-click to open the solution file on the machine that has Express installed.
I'm using VS 2013. I fixed this by right clicking the .sln and setting the Open With parameter to visual studio 2013 and not VS version selector or VS 2010.
I have faced the same problem. When I set the system Date and Time to the current Date and Time, The Problem solved by itself.
It looks like the .sln extension is owned by "Visual Studio 2010 Shell" a minimal version of Visual Studio that ships with products like SQL Server and Office to provide support for add-in development without any other features. Since this is a minimal version, it's unable to load any project type that ships with Visual Studio Express, Professional or above.
The same may happen when you have Visual Studio Express installed next to a full version of Visual Studio.
This may happen when you install an older version of Office or SQL Server after having installed Visual Studio. The old installer will hijack the extension.
To repair this problem:
use the "Open With" option of Windows and select the "Visual Studio Version Selector" as your default action.
Or open the "Default Programs" option in Windows, look up the .sln extension and make sure it uses the "Visual Studio Version Selector" as default:
Or locate Visual Studio 2012 in the Programs and Features window of Windows and chose "Change", the Visual Studio installer will pop up, chose "Repair" to have it repair the file associations and any other problems that may arise by installing Visual Studio versions in reverse order (it may for example mess up the MsBuild directory as well).
Remember that when Visual Studio 2010 was released, it could not yet know what Visual Studio 2012 would change, as such, it's best to install versions of Visual Studio in the order they were released. This may sometimes prove difficult, as other products may install Visual Studio versions without you knowing.

How to distribute/deploy a Visual Studio Add-in

I created my own Add-in with Visual Studio 2010. This Add-in is loaded at the startup of Visual Studio and it adds an entry in the Tools menu. The action of the Add-in is executing by clicking on its entry in the Tools menu.
The Add-in works well, but now I want to create an installer or something to deploy it on others computers.
I tried to create an MSI project, but I don't know where to copy the dll of the Add-in and how to register it in Visual Studio.
Then I tried to create a VSIX project, I managed to install the extension but my entry in the Tools menu is not visible/displayed.
Anyone knows a good way to deploy the Visual Studio ?
VSIX installers are used for deploying Visual Studio 2010 extensions. I'm not sure it works for add-ins. I would go with MSI. Here you will find a tutorial:
http://www.codeproject.com/KB/install/AddinCustomAction.aspx

Resources