本文整理汇总了TypeScript中electron.autoUpdater类的典型用法代码示例。如果您正苦于以下问题:TypeScript autoUpdater类的具体用法?TypeScript autoUpdater怎么用?TypeScript autoUpdater使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了autoUpdater类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: getServerUrl
server.listen(0, '127.0.0.1', () => {
serverUrl = getServerUrl(server);
autoUpdater.on('error', (error: Error) => {
logger.error('autoUpdater: error', getPrintableError(error));
reject(error);
});
autoUpdater.on('update-downloaded', () => {
logger.info('autoUpdater: update-downloaded event fired');
shutdown(server, logger);
resolve();
});
autoUpdater.setFeedURL({
url: serverUrl,
headers: { 'Cache-Control': 'no-cache' },
});
autoUpdater.checkForUpdates();
});
示例2: constructor
constructor(window: BrowserWindow) {
if (isDev()) {
return
}
if (os.platform() !== "darwin") {
return
}
const version = app.getVersion()
autoUpdater.addListener("update-available", (event: any) => {
log("A new update is available")
})
autoUpdater.addListener("update-downloaded", (event: any, releaseNotes: string, releaseName: string, releaseDate: string, updateURL: string) => {
notify("A new update is ready to install", `Version ${releaseName} is downloaded and will be automatically installed on Quit`)
})
autoUpdater.addListener("error", (error: any) => {
log(error)
})
autoUpdater.addListener("checking-for-update", (event: any) => {
log("checking-for-update")
})
autoUpdater.addListener("update-not-available", () => {
log("update-not-available")
})
autoUpdater.setFeedURL(`https://${UPDATE_SERVER_HOST}/update/${os.platform()}_${os.arch()}/${version}`)
window.webContents.once("did-frame-finish-load", (event: any) => {
autoUpdater.checkForUpdates()
})
}
示例3: constructor
constructor(window: Electron.BrowserWindow) {
if (isDev()) {
log.info(`isDev() true, auto-updater disabled`);
return;
}
const version = app.getVersion();
const feedUrl = `https://${UPDATE_SERVER_HOST}/update/${os.platform()}/${version}`;
try {
autoUpdater.setFeedURL(feedUrl);
} catch (err) {
log.info(`autoUpdater.setFeedURL failed: ${err}`);
return;
}
autoUpdater.addListener("update-available", (event: any) => {
log.info("A new update is available");
});
autoUpdater.addListener(
"update-downloaded",
(event: any, releaseNotes: string, releaseName: string, releaseDate: string, updateURL: string) => {
notify(
window,
"A new update is ready to install",
`Version ${releaseName} is downloaded and will be automatically installed on Quit`
);
}
);
autoUpdater.addListener("error", (error: any) => {
// auto-updater fails a lot because builds are not being signed yet, just ignore
//
// if (error.message === "Can not find Squirrel") {
// return;
// }
// log.error(error.stack ? error.stack : error.toString());
});
autoUpdater.addListener("checking-for-update", (event: any) => {
log.info("checking-for-update");
});
autoUpdater.addListener("update-not-available", () => {
log.info("update-not-available");
});
ipcMain.on("brackets-app-ready", () => {
autoUpdater.checkForUpdates();
});
}
示例4: setupAutoUpdater
function setupAutoUpdater():void {
// Don't even attempt to write the auto update unless we are on a system that supports it.
// Which as of the time of this comment only is windows.
if (!canAutoupdate()) return;
autoUpdater.addListener("update-available", function () {
win.webContents.send("update-info", "UPDATE.AVAILABLE");
});
autoUpdater.addListener("update-downloaded", function () {
win.webContents.send("update-info", "UPDATE.DOWNLOADED");
});
autoUpdater.addListener("error", function (error:any) {
console.log(error);
win.webContents.send("update-error", error);
});
autoUpdater.addListener("checking-for-update", function () {
win.webContents.send("update-info", "UPDATE.CHECKING_FOR_UPDATE");
});
autoUpdater.addListener("update-not-available", function () {
win.webContents.send("update-info", "UPDATE.NOT_AVAILABLE");
});
var feedUrl:string = "";
if (platform() == "win32") {
feedUrl = "http://zlepper.dk:3215/update/win";
if (arch() == "x64") {
console.log("64x windows detected.");
feedUrl += "64"
} else {
feedUrl += "32"
}
}
feedUrl += "/" + app.getVersion();
// The feed url was not set for some reason, so we'll not attempt to get any update package.
if (feedUrl == "") {
return;
}
autoUpdater.setFeedURL(feedUrl);
autoUpdater.checkForUpdates();
}
示例5:
ipcMain.on("restart", () => {
autoUpdater.quitAndInstall();
});
示例6:
ipcMain.on("brackets-app-ready", () => {
autoUpdater.checkForUpdates();
});
示例7: checkDownloadAndInstall
async function checkDownloadAndInstall(
getMainWindow: () => BrowserWindow,
messages: MessagesType,
logger: LoggerType
) {
if (isChecking) {
return;
}
logger.info('checkDownloadAndInstall: checking for update...');
try {
isChecking = true;
const result = await checkForUpdates(logger);
if (!result) {
return;
}
const { fileName: newFileName, version: newVersion } = result;
if (fileName !== newFileName || !version || gt(newVersion, version)) {
deleteCache(updateFilePath, logger);
fileName = newFileName;
version = newVersion;
updateFilePath = await downloadUpdate(fileName, logger);
}
const publicKey = hexToBinary(getFromConfig('updatesPublicKey'));
const verified = verifySignature(updateFilePath, version, publicKey);
if (!verified) {
// Note: We don't delete the cache here, because we don't want to continually
// re-download the broken release. We will download it only once per launch.
throw new Error(
`checkDownloadAndInstall: Downloaded update did not pass signature verification (version: '${version}'; fileName: '${fileName}')`
);
}
try {
await handToAutoUpdate(updateFilePath, logger);
} catch (error) {
const readOnly = 'Cannot update while running on a read-only volume';
const message: string = error.message || '';
if (message.includes(readOnly)) {
logger.info('checkDownloadAndInstall: showing read-only dialog...');
await showReadOnlyDialog(getMainWindow(), messages);
} else {
logger.info(
'checkDownloadAndInstall: showing general update failure dialog...'
);
await showCannotUpdateDialog(getMainWindow(), messages);
}
throw error;
}
// At this point, closing the app will cause the update to be installed automatically
// because Squirrel has cached the update file and will do the right thing.
logger.info('checkDownloadAndInstall: showing update dialog...');
const shouldUpdate = await showUpdateDialog(getMainWindow(), messages);
if (!shouldUpdate) {
return;
}
logger.info('checkDownloadAndInstall: calling quitAndInstall...');
markShouldQuit();
autoUpdater.quitAndInstall();
} catch (error) {
logger.error('checkDownloadAndInstall: error', getPrintableError(error));
} finally {
isChecking = false;
}
}
示例8:
window.webContents.once("did-frame-finish-load", (event: any) => {
autoUpdater.checkForUpdates()
})