Skip to content
This repository was archived by the owner on Aug 24, 2026. It is now read-only.

Use standard VS VSIXInstaller.exe - #192

Merged
David Barbet (dibarbet) merged 2 commits into
microsoft:mainfrom
dibarbet:install_vsix
Nov 17, 2025
Merged

Use standard VS VSIXInstaller.exe#192
David Barbet (dibarbet) merged 2 commits into
microsoft:mainfrom
dibarbet:install_vsix

Conversation

@dibarbet

Copy link
Copy Markdown
Member

custom vsix installation seems to be breaking vsix install on dev18 (causing extensions to get disabled). switch to vsixinstaller.exe from VS as it should work in 17/18.

@dibarbet
David Barbet (dibarbet) marked this pull request as ready for review November 17, 2025 19:12

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good; comments aren't issues that need to be resolved.

internal static IEnumerable<Tuple<string, Version, ImmutableHashSet<string>, InstanceState>> EnumerateVisualStudioInstances()
internal static IEnumerable<Tuple<string, Version, ImmutableHashSet<string>, InstanceState, string>> EnumerateVisualStudioInstances()
{
foreach (var result in EnumerateVisualStudioInstancesInRegistry())

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that removing this code is probably explicitly killing support for anything not using our current installer. Given we moved to it in VS2017 and that's our oldest "still in support" VS...this is fine. But we can probably make a note to pull additional support at some point too.

{
var vsExeFile = Path.Combine(installationPath, @"Common7\IDE\devenv.exe");
var vsRegEditExeFile = Path.Combine(installationPath, @"Common7\IDE\VsRegEdit.exe");
var vsixInstallerExeFile = Path.Combine(installationPath, @"Common7\IDE\VSIXInstaller.exe");

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we assert anywhere these files exist? Or I guess the Process.Start will hopefully throw in a useful way if they don't?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah it throws a win32 cannot find file specified exception

@dibarbet

Copy link
Copy Markdown
Member Author

looks like just the equalexception failures now

Failed! - Failed: 10, Passed: 5, Skipped: 15, Total: 30, Duration: 1 m 43 s - EqualException.dll (net472)

@dibarbet
David Barbet (dibarbet) merged commit 9a384ba into microsoft:main Nov 17, 2025
2 of 5 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants