mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
win: Register msdia80.dll automatically when dumping symbols.
This commit is contained in:
@@ -47,6 +47,13 @@ def mkdir_p(path):
|
||||
else: raise
|
||||
|
||||
|
||||
def RegisterRequiredDll():
|
||||
register = os.path.join(os.path.dirname(__file__), 'register_msdia80_dll.js')
|
||||
node = os.path.join(SOURCE_ROOT, 'out', 'Release', 'atom.exe')
|
||||
os.environ['ATOM_SHELL_INTERNAL_RUN_AS_NODE'] = '1'
|
||||
subprocess.check_call([node, register]);
|
||||
|
||||
|
||||
def GenerateSymbols(options, binaries):
|
||||
"""Dumps the symbols of binary and places them in the given directory."""
|
||||
|
||||
@@ -118,6 +125,7 @@ def main():
|
||||
for directory in directories:
|
||||
pdbs += glob.glob(os.path.join(directory, '*.pdb'))
|
||||
|
||||
RegisterRequiredDll();
|
||||
GenerateSymbols(options, pdbs)
|
||||
|
||||
return 0
|
||||
|
||||
12
tools/win/register_msdia80_dll.js
Normal file
12
tools/win/register_msdia80_dll.js
Normal file
@@ -0,0 +1,12 @@
|
||||
var fs = require('fs');
|
||||
var path = require('path');
|
||||
var runas = require('runas');
|
||||
|
||||
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']);
|
||||
Reference in New Issue
Block a user