diff --git a/windows/lib/WixSDK.js b/windows/lib/WixSDK.js index a6e3d36..6910ac7 100644 --- a/windows/lib/WixSDK.js +++ b/windows/lib/WixSDK.js @@ -257,20 +257,14 @@ function(app_path, xwalk_path, meta_data, callback) { }); } - // Extensions are supposed to be in the source application root dir: app_path. - // Then we copy them to the sub-directory of the installer folder: - // app_files_folder/xwalk-extensions - // So, if we still fully copy the source application root directory, all the - // extensions will be duplicated. - // Extensions can be divided by categories in seperate directories. + // Only .dll files in extension folders will be picked up into + // app_files_folder/xwalk-extensions. this._manifest.extensions.forEach(function(extDir) { installExtensionDlls(extDir, app_extensions_folder); - if (path.normalize(path.dirname(extDir)) == path.normalize(app_path)) { - extensions_relative_dir.push(path.relative(app_path, extDir)); - } }.bind(this)); // Skip in-folder extensions copying to avoid duplication. + // Because the needed extension files has already be installed by previous step. installFiles(app_path, app_files_folder, this._manifest.extensions); var program_menu_folder_ref = product.ele('DirectoryRef', { Id: 'ApplicationProgramsFolder' }); @@ -362,11 +356,14 @@ function(app_path, xwalk_path, meta_data, callback) { if (success) { // Pass back built package meta_data.msi = path.resolve(basename + ".msi"); - // Only delete on success, for debugging reasons. - ShellJS.rm("-f", basename + ".wxs"); - ShellJS.rm("-f", basename + ".wixobj"); - ShellJS.rm("-f", basename + ".wixpdb"); } + // move .wxs .wixobj .wixpdb files to root_path + // so that they can be kept with option "-k". + var root_path = path.normalize(path.dirname(app_path)); + ShellJS.mv("-f", basename + ".wxs", root_path); + ShellJS.mv("-f", basename + ".wixobj", root_path); + ShellJS.mv("-f", basename + ".wixpdb", root_path); + callback(success); }); };