none
MSI-Installed Extension updates not appearing in Extension Manager RRS feed

  • Question

  • I've written a Visual Studio extension which installs using an MSI. The install puts a extension.vsixmanifest file in the right place, and the extension appears in the Extension Manager as expected:

    Extension Manager details

    The problem is, when I publish a new version on the Visual Studio Gallery, the Extension Manager does not report it. I add the new version by creating a new installer and editing the existing page. Each new installer has a new ProductCode, PackageCode and ProductVersion (I update the MSI setup project and the version number in the included extension.vsixmanifest), but the same UpgradeCode; an example 'upgrade' commit can be found on GitHub here.

    The extension.vsixmanifest is as follows - I replace the 'Publisher' attribute value with the value from the assembly info during installation:

    <?xml version="1.0" encoding="utf-8"?>
    <PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011">
      <Metadata>
        <Identity Id="2d5de770-50e9-4dcf-87e9-ea1ed1b43b68" Version="1.4.5.0" Language="en-US" Publisher="$author$" />
        <DisplayName>ReadableExpressions.Visualizers</DisplayName>
        <Description xml:space="preserve">A set of Debug Visualizers providing readable views of Expressions.</Description>
        <MoreInfo>https://github.com/AgileObjects/ReadableExpressions</MoreInfo>
      </Metadata>
      <Installation InstalledByMsi="true" AllUsers="true">
        <InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="[10.0-15.0]" />
        <InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[14.0-15.0]" />
      </Installation>
      <Dependencies/>
      <Assets/>
    </PackageManifest>

    What am I missing?


    • Edited by AgileObjects Wednesday, May 25, 2016 6:33 PM More detail
    Wednesday, May 25, 2016 3:55 PM

Answers

  • OhhhhhhKAY. I've solved this, and it turned out to be a problem with the Visual Studio Gallery page editor.

    When you add an extension, you're shown a VSIX ID box:

    The VSIX ID box

    When you edit an extension (I'm using Chrome), that box has disappeared!

    No VSIX ID box

    It's still in the DOM, but it's hidden from view. Because of this, I never entered my extension's VSIX ID into the form, it didn't have a value associated with it, and the extensions service therefore didn't return a version number for that ID. The Extension Manager uses the extensions service to find out the latest versions of installed extensions, so it wasn't reporting new versions of mine.

    The VSIX ID box reappears if you deselect then reselect one of the extension's supported Visual Studio versions, so I've been able to assign the ID that way. The service now returns a version number, and the Extension Manager therefore shows available updates:

    Update available!

    • Marked as answer by AgileObjects Tuesday, May 31, 2016 7:14 PM
    Tuesday, May 31, 2016 7:14 PM

All replies

  • Hi AgileObjects,

    >>"Each new installer has a new ProductCode, PackageCode and ProductVersion"

    Why did you set new productcode & packagecode for each new installer? Visual Studio will treat them as a totally different extension. Please keep the consistency of productcode & packagecode.

    Best Regards,
    Li Wang


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Friday, May 27, 2016 9:42 AM
    Moderator
  • Hi Li,

    I update the ProductCode and PackageCode because Visual Studio recommends it when I update the version number:

    ...isn't tying various installers to one product what the UpgradeCode is for? Won't keeping the same ProductCode and PackageCode cause issues with a new installer being able to uninstall previous versions? My understanding of the various codes comes from here.

    Thanks,

    Steve

    • Edited by AgileObjects Friday, May 27, 2016 3:36 PM Added link to ProductCode blog
    Friday, May 27, 2016 3:15 PM
  • Hi Li,

    So it appears that changing the ProductCode and PackageCode is the right thing to do.

    The issue appears to be that when the extensions service is queried for the latest version of my extension, it returns a blank string - the same result as if you query with an invalid extension identifier:

    The two extensions successfully queried in the example are the NuGet client tools for VS2015 and the SQL Server Compact/SQLite Toolbox.

    Steve

     
    Monday, May 30, 2016 10:40 PM
  • OhhhhhhKAY. I've solved this, and it turned out to be a problem with the Visual Studio Gallery page editor.

    When you add an extension, you're shown a VSIX ID box:

    The VSIX ID box

    When you edit an extension (I'm using Chrome), that box has disappeared!

    No VSIX ID box

    It's still in the DOM, but it's hidden from view. Because of this, I never entered my extension's VSIX ID into the form, it didn't have a value associated with it, and the extensions service therefore didn't return a version number for that ID. The Extension Manager uses the extensions service to find out the latest versions of installed extensions, so it wasn't reporting new versions of mine.

    The VSIX ID box reappears if you deselect then reselect one of the extension's supported Visual Studio versions, so I've been able to assign the ID that way. The service now returns a version number, and the Extension Manager therefore shows available updates:

    Update available!

    • Marked as answer by AgileObjects Tuesday, May 31, 2016 7:14 PM
    Tuesday, May 31, 2016 7:14 PM