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

Filter command line switches according to VSIXInstaller version #8

Open
hokb opened this issue Jul 28, 2018 · 5 comments
Open

Filter command line switches according to VSIXInstaller version #8

hokb opened this issue Jul 28, 2018 · 5 comments

Comments

@hokb
Copy link

hokb commented Jul 28, 2018

The new command line switches in VSIXInstaller.exe for VS15 (/p, /f, /sp, potentially others) are great in order to kind-of get back the option of a quite install. In a mult-instance installer scenario, however, they cannot be used since older VSIXInstaller.exe do not know them and produce an error.
It would be useful if VSIXBootstrapper would filter out such switches which are invalid for a specific instance version, given that omitting the switch corresponds to the same behavior.

@heaths
Copy link
Member

heaths commented Jul 30, 2018

This is merely a lookup for previous versions, and both old and new versions of VSIXInstaller.exe support /q for quiet installs. Filtering - and generall understanding - which command line switches are for what version is out of scope, given even older versions introduced support for new switches.

The general use case of VSIXBootstrapper.exe <path\to\extension.vsix> /q should work universally (if Visual Studio is installed). Is that not what you're seeing?

@hokb
Copy link
Author

hokb commented Jul 31, 2018

Sure it does work! However, a solely \q is too likely to fail on VS15 without forcing the blocking processes to shutdown. I see the main advantage of VSIXBootstrapper to release one from having to perform installed version lookups. Since VSIXBootstrapper does that already I thought adding a small table of supported switches and skipping the unsupported ones would be relatively easy to add.
Currently, we cannot provide a multitarget installer, supporting pre-VS15 versions in quiet mode. Instead we must have the customer attending the install and uninstall. This renders VSIXBootstrapper a little less useful. Anyways: great tool nevertheless!

@heaths
Copy link
Member

heaths commented Jul 31, 2018

However, a solely \q is too likely to fail on VS15 without forcing the blocking processes to shutdown.

If you are seeing UI pop up when there are processes running, that is a bug that needs to be fixed. Is that the case? Or are you saying it fails? Passing /f should fix that.

@heaths
Copy link
Member

heaths commented Jul 31, 2018

After further discussion, we agree this is outside the original scope and not an investment we want to make at this time; however, if someone were to contribute back such a change we would be willing to accept a PR.

@hokb
Copy link
Author

hokb commented Aug 1, 2018

If you are seeing UI pop up when there are processes running, that is a bug that needs to be fixed. Is that the case? Or are you saying it fails? Passing /f should fix that.

Sorry for the confusion. I have not seen a bug in VSIXBootstrapper. Passing /f would work when targeting VS15 only. But since we also target VS12+ we cannot use /f since it is not supported on earlier VSIXInstaller.exe versions, except VS15.

After further discussion, we agree this is outside the original scope and not an investment we want to make at this time; however, if someone were to contribute back such a change we would be willing to accept a PR.

Thanks for your consideration! Currently, we don't have the resources either, unfortunately.

For us the take-away is that VSIXBootstrapper is a great help in detecting installed SKUs and can ease installer authoring work. The set of command line switches reached through to VSIXInstaller.exe, however, is limited to the common set of supported switches among all VS versions targeted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants