1

Closed

IVsPackageInstaller should allow installing a package without specifying a version

description

We'd like the ability to specify to IVsPackageInstaller to install the 'newest' version of a package, when using a local pre-installed repository. Right now we have to specify an exact match of the semantic version, which introduces coupling between our code and our build scripts.

For our scenario (design-time-tooling) we're using a preinstalled package repository. This repo will typically include some 'new' version of packages that we own. In practice these differ by semantic version based on what release they correspond to:

AwesomePackage.4.0.0-alpha
AwesomePackage.4.0.0-beta
AwesomePackage.4.0.0-rtm

Packages coming from a beta branch would be 'AwesomePackage.4.0.0-beta' and from the active development branch might be 'AwesomePackage.4.0.0-rtm'. Our pre-installed repo would only contain one of these packages at a time -- so an MSI produced from beta branch would drop 'AwesomePackage.4.0.0-beta', etc.

We should be able to call IVsPackageInstaller::InstallPackage but not specify the version, so that we don't have to modify the package names in code when we integrate between branches.
Closed Jul 10, 2013 at 7:55 PM by JeffHandley
After discussing for quite some time, we determined it's best to not fix this. Tooling should be coded against specific versions so that results are predictable.

While there are some scenarios where being able to grab the latest version in the tooling's repository could be beneficial, it would be easy for that to be used in a way that would make the tooling fall apart. So it ends up not being worth it.

comments

dotnetjunky wrote Jun 13, 2013 at 7:59 PM

Pass 'null' to version to install the latest version

dotnetjunky wrote Jun 13, 2013 at 7:59 PM

** Closed by dotnetjunky 06/13/2013 11:59AM

JeffHandley wrote Jun 13, 2013 at 9:34 PM

@dotnetjunky - I don't think that works for preinstalled packages though, which is their scenario.

dotnetjunky wrote Jun 13, 2013 at 10:17 PM

Oh my bad. re-opened the bug.