Windows system wide installer


#21

Thanks leedohm. I was not aware of this and it should solve my issue, using a GPO do deploy the variable through registry. I really appreciate the time you take to help me

I have everything to deploy atom now with unzipping into %PROGRAMFILES% and fixing %ATOM_HOME% but it is more a workaround than a solution

May be atom should have a standard behavior and install his data into %APPDATA% (wich default to c:\Users<user>\appdata\roaming and is often redirected to a network share in real world) and his cache into %LOCALAPPDATA%.

Actually, atom uses %USERPROFILE% for storing .atom. This is not MS standard compliant, and the default is not compatible with production network using roaming profile.

Hoping to be helpfull with those informations

Sincerely

L.


#22

We’re aware of this. In fact, the location that we use for the .atom directory by default is non-compliant with the standards on all three platforms. But it is self-consistent across all three platforms because the .atom directory is stored in the root user directory by default … ~/.atom on macOS and Linux and %USERPROFILE%\.atom on Windows. This makes the code and support much simpler.

It has been suggested numerous times that we use the compliant directories across all three platforms. The problem with that is that all three platforms have different ways of splitting up user configuration and user data so it wouldn’t be a single different directory on each platform. It would be multiple different directories and even differing numbers of configuration directories on different platforms. This also would mean that people wouldn’t have one place to go to back up their configuration or make it portable between different machines. It is an awful high cost to pay for the sake of marking a compliance checkbox.

Because of all of this, we’re going to stick with the default we have for the foreseeable future.


#23

@swirly Did you ever manage to build Atom from source? I wanted both Windows binaries and .atom folder in one place, so building seemed like the best option. However, I can’t even build it (Visual C++ Build Tools v14).

Node:   v6.10.0
Npm:    v3.10.5
Python: v2.7.0
Installing script dependencies
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (%USERPROFILE%\Downloads\atom-1.15.0\script\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Windows_NT 10.0.14393
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "%USERPROFILE%\\Downloads\\atom-1.15.0\\script\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd %USERPROFILE%\Downloads\atom-1.15.0\script\node_modules\minidump
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "%USERPROFILE%\\Downloads\\atom-1.15.0\\script\\node_modules\\npm\\bin\\npm-cli.js" "--loglevel=error" "install"
npm ERR! node v6.10.0
npm ERR! npm  v3.10.5
npm ERR! code ELIFECYCLE

npm ERR! minidump@0.9.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the minidump@0.9.0 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the minidump package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs minidump
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls minidump
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     %USERPROFILE%\Downloads\atom-1.15.0\script\npm-debug.log
child_process.js:506
    throw err;
    ^

Error: Command failed: %USERPROFILE%\Downloads\atom-1.15.0\script\node_modules\.bin\npm.cmd --loglevel=error install
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (%USERPROFILE%\Downloads\atom-1.15.0\script\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Windows_NT 10.0.14393
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "%USERPROFILE%\\Downloads\\atom-1.15.0\\script\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd %USERPROFILE%\Downloads\atom-1.15.0\script\node_modules\minidump
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "%USERPROFILE%\\Downloads\\atom-1.15.0\\script\\node_modules\\npm\\bin\\npm-cli.js" "--loglevel=error" "install"
npm ERR! node v6.10.0
npm ERR! npm  v3.10.5
npm ERR! code ELIFECYCLE

npm ERR! minidump@0.9.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the minidump@0.9.0 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the minidump package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs minidump
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls minidump
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     %USERPROFILE%\Downloads\atom-1.15.0\script\npm-debug.log

    at checkExecSyncError (child_process.js:483:13)
    at Object.execFileSync (child_process.js:503:13)
    at module.exports (%USERPROFILE%\Downloads\atom-1.15.0\script\lib\install-script-dependencies.js:10:16)
    at Object.<anonymous> (%USERPROFILE%\Downloads\atom-1.15.0\script\bootstrap:26:1)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)

Once I get it built, I want to do a couple of tests copying files manually. Then I was thinking about writing a build-script for NSIS that integrates nicely into the current build process. The actual NSIS script comes last.


#24

Coming back to this. Building on Windows works now, but it takes forever and I wonder why that is. Sure, I’m using a relatively old CPU (2.66GHz Core 2 Quad), but it’s not much faster on my Mac (2.8GHz i5). A lot of time seems to be used for downloading included packages. Installation is serial, which is probably why it’s not nearly as fast as, for instance, installing Node modules with yarn or even npm. By the way, building always fails when I try using yarn over npm install.

Build times on my Windows machine:

$ cd atom
$ powershell -Command "Measure-Command {npm install | Out-Default}"

[...]

Days              : 0
Hours             : 0
Minutes           : 9
Seconds           : 54
Milliseconds      : 24

$ powershell -Command "Measure-Command {scripts\build.cmd | Out-Default}"

[...]

Days              : 0
Hours             : 0
Minutes           : 37
Seconds           : 6
Milliseconds      : 449

When building is complete, .the resulting executable quits with an error.

40

Rebuilding Atom never works, after ~20 minutes I get an error message.

Why is all of this important? Personally, I dont care, I work happily on my non-Windows computer. But I would have loved to help out with an alternative Windows installer. Ideally the whole process would run fully automated, which i why I was looking at building Atom from source. As you can imagine, build times of 40-60 are kind of frustrating, especially if something goes wrong (and I wonder how the Atom developers are doing it.)

Anyway, under these circumstances, I don’t think I can be of assistance.


#25

Not really an answer, but: Got to love error messages that tell you all kinds of information except the most important – which DLL library failed. I do know that recent versions of npm have greatly improved download/install times, so as the atom install moves to newer versions you might see a lot of improvement.


#26

Hello
I did not build from source but managed to have atom system wide installed
My main concern is about packages actually. How to deploy them system wide ? Some are big and populate profiles quite heavily.