UNPKG

@launchmenu/launcher

Version:
89 lines 6.37 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.handleWindowsPermissionsDialog = void 0; const regedit_1 = __importDefault(require("./regedit")); const child_process_1 = require("child_process"); const path_1 = __importDefault(require("path")); const electron_1 = require("electron"); /** * Manages the process of granting permissions for windows from the installer window * @param window The installer window to show the dialogs in */ async function handleWindowsPermissionsDialog(window) { let uacEnabled = await isUACPromptEnabled(); if (uacEnabled) { let disableUAC = await window.setState({ type: "prompt", text: "Your computer is set up to show User Access Control (UAC) prompts. This unfortunately currently interferes with LaunchMenu's auto startup feature. In order to make LaunchMenu startup automatically you will have to disable these notifications. This will unfortunately also make your computer slightly more vulnerable to malicious programs. Would you like to disable UAC prompts?", buttons: [ { text: "Disable prompts", type: "primary", value: true, }, { text: "Keep prompts", type: "secondary", value: false, }, ], }); if (!disableUAC) return; let message = "Please use the opened UI to change the settings to never notify you and then click the button below when finished."; while (uacEnabled && disableUAC) { let proc; try { proc = child_process_1.exec("C:\\Windows\\System32\\UserAccountControlSettings.exe"); } catch (e) { message = "The UI couldn't be opened. Please google a guide for how to disable UAC prompts and disable them manually."; } disableUAC = await window.setState({ type: "prompt", text: message, buttons: [ { text: "Disabled", type: "primary", value: true, }, { text: "Cancel", type: "secondary", value: false, }, ], }); uacEnabled = await isUACPromptEnabled(); message = "It seems the setting weren't successfully changed, please try again and then click the button below."; if (proc) proc.kill(); } } } exports.handleWindowsPermissionsDialog = handleWindowsPermissionsDialog; /** * Check whether the permissions are set */ function isUACPromptEnabled() { const vbsDirectory = path_1.default.join(path_1.default.dirname(electron_1.app.getPath("exe")), "./resources/regedit/vbs"); regedit_1.default.setExternalVBSLocation(vbsDirectory); return new Promise((res, rej) => { const loc = "HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System"; regedit_1.default.list([loc], (err, value) => { if (err) rej(err); else { const entry = value[loc].values["ConsentPromptBehaviorAdmin"]; res((entry === null || entry === void 0 ? void 0 : entry.value) != 0); } }); }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlV2luZG93c1Blcm1pc3Npb25zRGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Blcm1pc3Npb25zL2hhbmRsZVdpbmRvd3NQZXJtaXNzaW9uc0RpYWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx3REFBZ0M7QUFFaEMsaURBQWlEO0FBQ2pELGdEQUF3QjtBQUN4Qix1Q0FBNkI7QUFFN0I7OztHQUdHO0FBQ0ksS0FBSyxVQUFVLDhCQUE4QixDQUNoRCxNQUF1QjtJQUV2QixJQUFJLFVBQVUsR0FBRyxNQUFNLGtCQUFrQixFQUFFLENBQUM7SUFFNUMsSUFBSSxVQUFVLEVBQUU7UUFDWixJQUFJLFVBQVUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDbkMsSUFBSSxFQUFFLFFBQVE7WUFDZCxJQUFJLEVBQUUsMlhBQTJYO1lBQ2pZLE9BQU8sRUFBRTtnQkFDTDtvQkFDSSxJQUFJLEVBQUUsaUJBQWlCO29CQUN2QixJQUFJLEVBQUUsU0FBUztvQkFDZixLQUFLLEVBQUUsSUFBSTtpQkFDZDtnQkFDRDtvQkFDSSxJQUFJLEVBQUUsY0FBYztvQkFDcEIsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLEtBQUssRUFBRSxLQUFLO2lCQUNmO2FBQ0o7U0FDSixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU87UUFFeEIsSUFBSSxPQUFPLEdBQ1Asb0hBQW9ILENBQUM7UUFDekgsT0FBTyxVQUFVLElBQUksVUFBVSxFQUFFO1lBQzdCLElBQUksSUFBOEIsQ0FBQztZQUNuQyxJQUFJO2dCQUNBLElBQUksR0FBRyxvQkFBSSxDQUFDLHVEQUF1RCxDQUFDLENBQUM7YUFDeEU7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixPQUFPO29CQUNILDRHQUE0RyxDQUFDO2FBQ3BIO1lBRUQsVUFBVSxHQUFHLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQztnQkFDL0IsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsT0FBTyxFQUFFO29CQUNMO3dCQUNJLElBQUksRUFBRSxVQUFVO3dCQUNoQixJQUFJLEVBQUUsU0FBUzt3QkFDZixLQUFLLEVBQUUsSUFBSTtxQkFDZDtvQkFDRDt3QkFDSSxJQUFJLEVBQUUsUUFBUTt3QkFDZCxJQUFJLEVBQUUsV0FBVzt3QkFDakIsS0FBSyxFQUFFLEtBQUs7cUJBQ2Y7aUJBQ0o7YUFDSixDQUFDLENBQUM7WUFDSCxVQUFVLEdBQUcsTUFBTSxrQkFBa0IsRUFBRSxDQUFDO1lBQ3hDLE9BQU87Z0JBQ0gsc0dBQXNHLENBQUM7WUFFM0csSUFBSSxJQUFJO2dCQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN6QjtLQUNKO0FBQ0wsQ0FBQztBQTNERCx3RUEyREM7QUFFRDs7R0FFRztBQUNILFNBQVMsa0JBQWtCO0lBQ3ZCLE1BQU0sWUFBWSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQzFCLGNBQUksQ0FBQyxPQUFPLENBQUMsY0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNoQyx5QkFBeUIsQ0FDNUIsQ0FBQztJQUNGLGlCQUFPLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFN0MsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUM1QixNQUFNLEdBQUcsR0FDTCxzRUFBc0UsQ0FBQztRQUMzRSxpQkFBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQy9CLElBQUksR0FBRztnQkFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7aUJBQ2I7Z0JBQ0QsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO2dCQUM5RCxHQUFHLENBQUMsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsS0FBSyxLQUFJLENBQUMsQ0FBQyxDQUFDO2FBQzFCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMifQ==