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

Implement WiX based MSI setup #38008

Closed
wants to merge 4 commits into from
Closed

Conversation

alexhass
Copy link

@alexhass alexhass commented Nov 10, 2017

I've created the MSI setup of Visual Code. Compared to the InnoSetup it allows users to select file associations. This is required for AD deployment if the admin do not like to assign every file extension. This means this setup introduced an important new feature.

@alexhass
Copy link
Author

Let me note that German translation is included and complete. The others are not.

@joaomoreno joaomoreno self-requested a review November 10, 2017 09:20
@joaomoreno joaomoreno added this to the Backlog milestone Nov 10, 2017
@joaomoreno joaomoreno added the install-update VS Code installation and upgrade system issues label Nov 10, 2017
Copy link
Member

@joaomoreno joaomoreno left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you remove all the licenses from this? You should only leave behind this English license: https://github.com/Microsoft/vscode/blob/master/LICENSE.txt

Also, we have a whole different process for translations, which we would need to adopt in the WiX setup. Please remove all translations and just leave English behind.

@alexhass
Copy link
Author

WiX need an RTF license file. It cannot work with the default txt file. If you do not like to take the files over you can remove them on commit, but need them later for setup build.

If i remove the translation files the batch script stops working as files are missing. I‘m not aware of this process. How does it work and how are the translation files generated than? Is another undocumented script needed?

This patch is fully working. It is not just 50% of what is needed to build the setup like the innosetup. Should I break it now?

@joaomoreno
Copy link
Member

joaomoreno commented Nov 10, 2017

This is not our MIT license. If it needs an RTF, feel free to provide an RTF only containing our MIT license: https://github.com/Microsoft/vscode/blob/master/LICENSE.txt.

An empty RTF would be even better, since then I wouldn't have to literally compare what you've put in there with our actual license.

We don't have our localisation story documented unfortunately, but we need to be able to extract strings and send it over to an external service for translation periodically. So, if you could just provide the English version, I'll pick it up and integrate it.

@alexhass
Copy link
Author

alexhass commented Nov 10, 2017

The MIT license /LICENSE.txt from project root is inside /build/wix/Resources/licenses/license.rtf. If you leave all the other license files outside - it is a copy&paste from the project root as RTF file.

The english translation file is /build/wix/Lang/code.en-us.wxl. If you do not like the other translation files just delete them, please. This is not only translation. There are critical CodePage settings inside. If these are not correct, the MSI build will also fail. It took me a serious time to find the right numbers. Deleting the files means we lose this important information.

But do not wonder that the build.cmd can no longer build the MSI.

@jcasale
Copy link

jcasale commented Nov 12, 2017

The WIX UI extension includes a license file, you can ignore it (and the related property) and re-sequence the dialogs in order to prevent displaying it.

@alexhass
Copy link
Author

But the setup need to show the license dialog... the current setup also does. I have implemented it like the current inno setup + better file association per file type.

I do not really understand why I should implement or share just 50% of required files. Open source should be self containing and complete. It is not useful to destroy the installer and share half of the setup with the community. This disallow the community to build the setup.

@joaomoreno
Copy link
Member

I will not merge a commit containing license files from an external source. That is just asking for legal trouble.

If you don't remove these things from the commit history, we'll still use all your work, but the PR won't be merged. You'll still get a thanks in the release notes, though. If that works for you, then you don't need to do anything.

@alexhass
Copy link
Author

This was the first fork and pull request on github in my life and it was no fun for me. I will try to update my pull and hopefully it is ok than.

@alexhass
Copy link
Author

alexhass commented Nov 25, 2017

How strange... Why does a repository hard reset close a case?

I hope this patch is now good to go.

@alexhass
Copy link
Author

alexhass commented Nov 25, 2017

I'm also attaching the not committed language XML files Lang.zip here as it took some efforts to figure out the correct code pages and encodings. Especially japanese and chinese was not clear to me first. German strings are already translated.

@alexhass
Copy link
Author

Now my user reference to the commit should be correct.

@alexhass
Copy link
Author

Fixed code style issues.

@joaomoreno
Copy link
Member

@alexhass As you see we have 109 PRs open. Please be patient.

@alexhass
Copy link
Author

alexhass commented Jan 6, 2018

Added a new commit with two missing image files.

@alexhass
Copy link
Author

alexhass commented Feb 17, 2018

@joaomoreno how are you making progress on this issue? It is now 3 months lingering here around. Can you commit the setup, please?

Aside, is it ok if I attach the current MSI setups here or share as download on my website? They are based on the ZIP files provided by MS. So people can use it on their own and report feedback?

@joaomoreno
Copy link
Member

@alexhass This is currently not in our plan. The PR is still useful since it contains a lot of helpful steps, for when eventually we decide to distribute MSI packages.

Since this is an open source project, I believe you can distribute it, as long as you comply with the licenses surrounding the project. cc @chrisdias

@alexhass
Copy link
Author

This sounds extreme bad. I absolutly need an MSI Installer. Shit exe setups need to die. They cannot deployed via AD. This means the software is not enterprise ready.

I‘m not a lawer. Getting in conflict with ms is no option. Please provide the stuff that we need. Ms normally always provides msi setups. Why are you not doing this???

Please put some priority on this case. There are a lot of people who need it.

@totegi
Copy link

totegi commented Jul 23, 2018

So the solution to this issue is laying around for over half a year now. Not being able to give dev's the tools they need is frustrating. Please add this to the plan.

@joaomoreno
Copy link
Member

Sorry @alexhass, will have to close this, it's just not in our roadmap: https://github.com/Microsoft/vscode/wiki/Issue-Grooming#out-of-scope-feature-requests

@joaomoreno joaomoreno closed this Sep 12, 2018
@alexhass
Copy link
Author

alexhass commented Sep 12, 2018

Thanks for the waste of time.

How should we deploy the software now????????????????!

@alexhass
Copy link
Author

@joaomoreno : People need this, Put this on your roadmap, please. There is no workaround possible. GPO can ONLY deploy MSI. Now I need to also block your sh** per User installer just because you have no idea about roaming profiles.

Are you beginners really from MS?

@compuguy
Copy link

compuguy commented Feb 19, 2019

I understand that @joaomoreno is against making a msi installer for VScode, but there are some environments where this is a necessity for deployment when pushing out software via GPO. A quick Google doesn't seem to indicate that #61793 will work with software deployment via GPO.

@ghost
Copy link

ghost commented Jun 14, 2019

can these changes be easily applied to https://github.com/VSCodium/vscodium/ or will it need significant updating and vscodium specific workarounds?

@alexhass
Copy link
Author

alexhass commented Jun 14, 2019

Yes, can be done easily. See my repository for the latest version, please. If you need help I can provide some.

@alexhass
Copy link
Author

I was not aware of vscodium. Would love to help getting it out of the door.

Do you know if and how we can disable automatic update in vscodium?

@ghost
Copy link

ghost commented Jun 15, 2019

tested on a fresh install of vscodium(1.35.1).

text

in vscodium or vscode,

click on gear icon( bottom left corner)> click Settings> click Application> click Update>click 'Enable Windows background updates.'

images (app theme:dark)

1

part1

2

part2

3

part3

4

part4

5

part5

6

part6

7

part7

@ghost
Copy link

ghost commented Jun 15, 2019

edit1-

from https://code.visualstudio.com/docs/supporting/faq#_how-do-i-opt-out-of-vs-code-autoupdates ->

  "update.mode": "none"

edit2-

on Ubuntu, the file is:
in ~/.config/VSCodium/User/settings.json

"update.mode": "none" sets the update mode to none.

to disable the 'Enable Windows background updates.' setting-

"update.enableWindowsBackgroundUpdates": false

note- I usually combine both options.

so contents of settings.json is-

{

    "update.enableWindowsBackgroundUpdates": false,

    "update.mode": "none"

}

@alexhass
Copy link
Author

A per machine setting is required for auto update. The one you found is a per user setting and does not work well.

@Hickory420
Copy link

A vbscript workaround for deployment in AD GPO here #33184
I know it's far from ideal, but it gets the job done.

@github-actions github-actions bot locked and limited conversation to collaborators Mar 27, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
install-update VS Code installation and upgrade system issues
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants