Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Address issue with being unable to install VisualFSharpOpenSource .vsix #2409

Merged
merged 1 commit into from
Feb 11, 2017
Merged

Address issue with being unable to install VisualFSharpOpenSource .vsix #2409

merged 1 commit into from
Feb 11, 2017

Conversation

KevinRansom
Copy link
Member

So ...

Visual FSharp tools is a slightly unusual vsix inasmuch as ... it ships with VS and yet we want to be able to install it the VSIX from an OSS build too.

VSCore have a scenario to ensure that this works, however, as part of the new installer work uninstall of vs shipped vsix' replaced in this way got broken. And so the feature has been disabled until it can be fixed in a future update.

Which leaves us with a bit of a problem ...

This PR has a work-around until we can install vsix' properly again.

The fix is simple ... tell the build we are not building an internal component.

How to use:

In a VS 2017 command shell by typing

vsixinstaller release\net40\bin\VisualFSharpOpenSource.vsix

to uninstall type:

vsixinstaller /uninstall:VisualFSharp

Note:
You need to uninstall an earlier installation of the vsix before installing an updated VisualFsharpOpenSource.vsix

@dsyme
Copy link
Contributor

dsyme commented Feb 11, 2017

The fix is simple ... tell the build we are not building an internal component.

Are there any downsides to this?

How to use ... In a VS 2017 command shell by typing vsixinstaller release\net40\bin\VisualFSharpOpenSource.vsix ... to uninstall type .. vsixinstaller /uninstall:VisualFSharp. Note:You need to uninstall an earlier installation of the vsix before installing an updated VisualFsharpOpenSource.vsix

Could you also update the DEVGUIDE.md instructions to include this info as part of this PR please? That's the place I go to understand what to do. Perhaps also put a link to this PR. thanks :)

@KevinRansom
Copy link
Member Author

@dsyme

The instructions in DevGuide.md are already correct.

The section is:
[Optional] Install the Visual F# IDE Tools (Windows Only)

the only difference is they use the /a switch for admin.

As far as I know, there are no downsides, once VSCore has implemented correct uninstall, we will be able to uninstall the vsix using the ide again.

@cloudRoutine
Copy link
Contributor

@KevinRansom I made the same change as this PR locally and I was finally able to install the VisualFSharpOpenSource.vsix again, but the uninstall process seems to have broken. When I try to uninstall from the extension manager it launches this prompt.

The VisualStudio Installer comes up with F# unchecked

But after running the modification and checking the extension manager again

The experimental vsix was still installed, then when I ran uninstall from the extension manager it did the usual vsix uninstall that takes place after you close devenv and I was finally able to uninstall it

But now F# has been completely removed from vs 2017 and I have to go back to the VS installer to put the vanilla VFT back on

Is there any way we can get back to how it used to work where when you want to update the VisualFSharpOpenSource installed all you have to do is uninstall the current version and then install the new one and there isn't this intermediate phase of taking all the F# bits off and then putting them back on?

@vasily-kirichenko
Copy link
Contributor

My current approach: switch to release, modify this thing https://github.com/Microsoft/visualfsharp/blob/master/vsintegration/Vsix/VisualFSharpOpenSource/VisualFSharpOpenSource.csproj#L47 to "Master", Ctrl+F5, close the popped up exp instance. Make a desktop shortcut "devenv.exe /rootsuffix Master", use it.

@cloudRoutine
Copy link
Contributor

@vasily-kirichenko is there a reason you chose to use Master instead of FSharpDev for the shortcut arg?

@vasily-kirichenko
Copy link
Contributor

"FSharpDev" is for exp instance that is launched by Ctrl+F5 from the Master instance :) The name is random, of course.

@cloudRoutine
Copy link
Contributor

I was wondering if it would VS to crap out when you try to launch with CTRL+F5 from the FSharpDev hive and it tries to install the extension into itself, so I tried it out and indeed it did

24>  Creating VSIX Container...
24>  Creating the package with the following compression level. "Normal".
24>  VisualFSharpOpenSource -> C:\repos\visualfsharp\Release\net40\bin\VisualFSharpOpenSource.vsix
24>DeployVsixExtensionFiles:
24>  VsixID = VisualFSharp
24>  VsixVersion = 42.42.42.42
24>  VsixDeploymentPath = C:\Users\jared\AppData\Local\Microsoft\VisualStudio\15.0_adf57419FSharpDev\Extensions\Microsoft.VisualFSharpTools\Visual F# Tools\42.42.42.42\
24>C:\repos\visualfsharp\packages\Microsoft.VSSDK.BuildTools.15.0.26124-RC3\tools\vssdk\Microsoft.VsSDK.targets(680,5): error VSSDK1081: Problem occurred while extracting the vsix to the experimental extensions path.
24>
24>Build FAILED.

@vasily-kirichenko
Copy link
Contributor

Yes, that's why Master.

@KevinRansom
Copy link
Member Author

KevinRansom commented Feb 11, 2017

@cloudRoutine the reason that this mechanism was disabled is because using the ide for uninstall does not work.

For the purposes of testing use this + the vsixinstaller to install and uninstall. Avoid using the ide to uninstall the oss vsix until vscore can implement uninstall correctly, which they will do.

Kevin

@KevinRansom KevinRansom merged commit 1c3bc47 into dotnet:master Feb 11, 2017
@KevinRansom KevinRansom deleted the VisualFSharpOpenSource branch February 11, 2017 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants