Add runas as devDependencies, or the python script will install it again and again.

The options of register_msdia80_dll.js should be admin.
Fix the problem of runas not works cause it will escape command parameters by default.
This commit is contained in:
Yonggang Luo 2015-03-21 15:22:45 +08:00
Родитель 24d615d428
Коммит fa011c3d97
3 изменённых файлов: 11 добавлений и 19 удалений

Просмотреть файл

@ -1,24 +1,21 @@
{
"name": "atom-shell",
"version": "0.22.1",
"licenses": [
{
"type": "MIT",
"url": "http://github.com/atom/atom-shell/raw/master/LICENSE.md"
}
],
"devDependencies": {
"atom-package-manager": "0.144.0",
"asar": "0.2.2",
"atom-package-manager": "0.144.0",
"coffee-script": "~1.7.1",
"coffeelint": "~1.3.0",
"request": "*"
"request": "*",
"runas": "^2.0.0"
},
"private": true,
"scripts": {
"preinstall": "node -e 'process.exit(0)'"
}

Просмотреть файл

@ -29,8 +29,6 @@ def main():
update_submodules()
update_node_modules('.')
bootstrap_brightray(args.url)
if sys.platform in ['win32', 'cygwin']:
install_runas()
create_chrome_version_h()
touch_config_gypi()
@ -96,14 +94,6 @@ def update_win32_python():
if not os.path.exists('python_26'):
execute_stdout(['git', 'clone', PYTHON_26_URL])
def install_runas():
# TODO This is needed by the tools/win/register_msdia80_dll.js, should move
# this to a better place.
with scoped_cwd(os.path.join(SOURCE_ROOT, 'tools', 'win')):
execute_stdout([NPM, 'install', 'runas'])
def create_chrome_version_h():
version_file = os.path.join(SOURCE_ROOT, 'vendor', 'brightray', 'vendor',
'libchromiumcontent', 'VERSION')

Просмотреть файл

@ -2,11 +2,16 @@ var fs = require('fs');
var path = require('path');
var runas = require('runas');
/* FIXME: C:\\Program Files\\ should comes from env variable
And for 32 bit msdia80 is should be placed at %ProgramFiles(x86)% */
var source = path.resolve(__dirname, '..', '..', 'vendor', 'breakpad', 'msdia80.dll');
var target = 'C:\\Program Files\\Common Files\\Microsoft Shared\\VC\\msdia80.dll';
if (fs.existsSync(target))
return;
var copy = 'copy "' + source + '" "' + target + '"';
var register = 'regsvr32 "' + target + '"';
runas('cmd', ['/K', copy + ' & ' + register + ' & exit']);
runas('cmd', ['/K',
'copy', source, target,
'&', 'regsvr32', '/s', target,
'&', 'exit'],
{admin:true}
);