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

Need MSI Enterprise Installer #106

Closed
hypercube33 opened this issue Apr 8, 2019 · 30 comments · Fixed by #827
Closed

Need MSI Enterprise Installer #106

hypercube33 opened this issue Apr 8, 2019 · 30 comments · Fixed by #827
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@hypercube33
Copy link

No description provided.

@stripedpajamas
Copy link
Member

Hi @hypercube33 -- can you provide more info? Is this an installer that is currently provided by Microsoft for Visual Studio Code but that VSCodium does not offer?

@stripedpajamas stripedpajamas added the question Further information is requested label Apr 11, 2019
@ghost
Copy link

ghost commented Apr 14, 2019

MSIs are not provided by Microsoft for VSCode from what I can tell. Likely this is being asked for to facilitate better/automated installations. MSIs commonly have silent installations which make doing remote installs much simpler and less disruptive/intrusive for end users.

@mcarpenterjr
Copy link

Some light research turns up a number of free tools to convert exe's to msi's...

@hypercube33
Copy link
Author

Converting exe to msi is generally frowned upon vs. making a wix script and building a properly functioning msi installer.

As for the reason suggesting it yes it's for Enterprise deployment and it's the default package type for windows

@stripedpajamas
Copy link
Member

PRs welcome! I don't know much of anything about creating a properly function MSI installer and since MS is not providing this already for Visual Studio Code it isn't at the top of the priority list. That being said, I'd be happy to merge in any contribution towards this end 👍

@stripedpajamas stripedpajamas added help wanted Extra attention is needed and removed question Further information is requested labels Apr 17, 2019
@hypercube33
Copy link
Author

See microsoft/vscode#38008

@stripedpajamas stripedpajamas added the enhancement New feature or request label May 28, 2019
@alexhass
Copy link
Contributor

alexhass commented Jun 14, 2019

Just became aware of vscodium. I‘m willingly to update my wix based vscode msi setup to latest version asap if it has a chance to get integrated.

Just one question. Can we have a registry key or place a file somewhere that disables automatic updates per machine, please? This is an enterprise need... I really need.

Ms project manager refused to use msi as he has no idea about enterprise needs and customer needs.

@stripedpajamas
Copy link
Member

Hi @alexhass 👋 Thanks for chiming in, as I believe you have the most context/experience with this issue. We would love your help in getting an MSI setup and would gladly include the MSI on the releases page.

Unfortunately, disabling automatic updates with a file or registry key would have to happen at the VSCode level. This repo is just running their existing build scripts and uploading the resulting binaries. As such, we can modify small things pre-build like the values in product.json. Checking a registry flag at runtime to determine if auto updates should be enabled would require adding logic into the codebase itself and that is outside the scope of this project.

@alexhass
Copy link
Contributor

Do you know if there is a way to add a killswitch for automatic updates to product.json?

@stripedpajamas
Copy link
Member

product.json values are static once the app is built. So it would not be a switch, it would be either on or off for that binary.

@bluikko
Copy link

bluikko commented Jun 26, 2020

Couldn't the settings JSON file be deployed with a GPO? All enterprise standard settings could be put in the JSON including disabling automatic updates. There is a possibility that the user changes the JSON but this should not be a roadblock for an MSI installer!

Any updates on this issue?

Or, @alexhass have you thought about releasing the MSIs for VSCode similarly to the other software MSIs you have?

It seems clear that the VSCode team has no enterprise experience (and in general no awareness of MS technologies) and an official MSI installer seems likely to never happen.
There is a real need for an MSI installer of VScode based on the numerous lengthy issue threads at the official VSCode project.

@alexhass
Copy link
Contributor

alexhass commented Jun 26, 2020

I could, but if automatic updates are not disabled the local installation will be destroyed by an update from msi to exe. If we can disable this auto update in the product file I‘m fine!

@bluikko
Copy link

bluikko commented Jun 26, 2020

I am not familiar with how VSCode works so @stripedpajamas' answer doesn't tell me anything but it would seem like product.json could be used for disabling automatic updates?

And if all else fails, could automatic updates be disabled in the default settings.json - or users could distribute site-specific settings.json where automatic updates are disabled?

Judging by the size of the MSI threads at VSCode side plenty of folks would be happy if VSCodium would have an MSI installer.

@alexhass
Copy link
Contributor

alexhass commented Jun 26, 2020

If we know for sure I build the installer. It is more or less ready. I only need to check what has changed in last year and replace a few logos plus testing...

@bluikko
Copy link

bluikko commented Aug 31, 2020

I've had another look at this issue since at VSCode side there seems to be unfortunately some movement in creating an MSIX installer and not an MSI installer.

GPO could not be easily used to deploy a settings.json file I think, so automatic updates should be disabled with the product.json build-time as listed above.

@michalzobec
Copy link

hello, any update? please look for office, sql server and other Microsoft products. all them have deployment solution per computer.

in enterprise environment is normal distribute via MSI packages with off automatic updates due to stability and compatibility of environment (other plugins, and solutions).

you can read about this theme in my article https://translate.google.cz/translate?sl=cs&tl=en&u=https%3A%2F%2Fwww.michalzobec.cz%2Fapplication-deployment-obvykle-postupy-a-zvyky-pro-nasazovani-aplikaci-ve-firemnim-prostredi-5395

please inspire on Keepass or GreenShot

@GitMensch
Copy link
Collaborator

@alexhass I've had a look at this: yes, you should be able to auto-disable the default setting for the update mode.

It is defined in https://github.com/microsoft/vscode/blob/master/src/vs/platform/update/common/update.config.contribution.ts (as "default").
When we look at the vscodium scripts https://github.com/VSCodium/vscodium/blob/master/update_settings.sh updates the default values in other places, so you should be able to use that script to update that file to have "update.mode": "none" (you additionally could change https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh to remove the update URL to nothing, so making the update useless even if the user manually enabled the update.

I'd be keen to see your PR here and to recheck with you about how to improve it (one thing I've spot in the initial PR: the build number should be read from tje checkout of https://github.com/microsoft/vscode/blob/master/package.json for example, but a dirty ´findstrand then aFOR` to separate the parts should be enough). To have the WIX build scripts included in the build setup we'd have to also call them from https://github.com/VSCodium/vscodium/blob/master/win32-build.yml.

I'm looking forward for this :-)

Note: if you completely go down this route you'd very likely setup an own local vsix registry and distribute the environment variables via AD that tell VSCodium to use this local repository instead of the one VSCodium is configured with.

@alexhass
Copy link
Contributor

Created the pull. I share ready to use MSI setups (x64/x86) tomorrrow for testing.

@alexhass
Copy link
Contributor

alexhass commented Nov 20, 2020

PREVIEW builds are available at https://www.hass.de/content/vscodium-msi-package-enterprise-deployment-available

@alexhass
Copy link
Contributor

Removing inno_update.exe has not helped. What is this executable doing?

Setting product,json > updateUrl = "" (empty) seems to remove the update feature from the application. The update check link disapeared everywhere. Great.

What made me wondering is that VSCodium has not complained that I altered the product.json file. I think this was the case with vscode in past. I think this needs some investgation.

@GitMensch
Copy link
Collaborator

Removing inno_update.exe has not helped. What is this executable doing?

That's an interesting question then.

What made me wondering is that VSCodium has not complained that I altered the product.json file. I think this was the case with vscode in past. I think this needs some investgation.

Why should it complain?

@alexhass
Copy link
Contributor

I can only guess... and my best guess is that a malicious software can silently alter the vscode source code. By checking file consistency they can prevent vscode to run with thos code... i‘ve seen this a year ago or so...

@kale1d0code
Copy link

is there an MSI file available yet?
The organisation I work for is planning on setting up programming courses,
and I would love to be able to manage everything from AD

@GitMensch
Copy link
Collaborator

There's no official build for it but with #574 you'd be able to manually create it.

Hm, I think I should try to find some time to handle the open TODO list for that PR- the main part was already provided...

@daiyam
Copy link
Member

daiyam commented Sep 7, 2021

@GitMensch I'm working on it 😉

@GitMensch GitMensch linked a pull request Sep 8, 2021 that will close this issue
@daiyam
Copy link
Member

daiyam commented Sep 9, 2021

The MSI are available!

@GitMensch GitMensch linked a pull request Sep 9, 2021 that will close this issue
@GitMensch
Copy link
Collaborator

Cool, both the ones with and the ones without updates disabled are available now.

@bluikko
Copy link

bluikko commented Sep 9, 2021

At least in VSCodium-x64-updates-disabled-1.60.0.msi the language is set to/detected as "Chinese (Traditional, Taiwan)". So "ignore language" option needs to be set in software deployment systems that detect the language and compare it to Windows language.

@GitMensch
Copy link
Collaborator

Thanks @bluikko for testing, I've created #830 to collect issues people see with the package. Do you (or possibly @alexhass) have an idea how to fix that?

@alexhass
Copy link
Contributor

Great news. Thanks

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 27, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants