Пробовал много раз и много решений, но все они дают мне ту же проблему. Все работает просто отлично, приложение работает и никаких проблем с ним нет, просто ярлык, который не создается на рабочем столе. Я вижу из файлов журнала «EmulateFileIOPermissionChecks» и сообщение об ошибке «Формат данного пути не поддерживается». но не уверен, что это значит. Я испытал ту же ошибку с этим модулем "электрон-белка-запуска". Вот что происходит с SquirrelSetup.log
2018-06-28 17:56:15> Program: Starting Squirrel Updater: --createShortcut C:\Users\name\AppData\Local\myApp\app-0.1.0\myapp.exe
2018-06-28 17:56:15> ApplyReleasesImpl: About to create shortcuts for
C:\Users\user\AppData\Local\myApp\app-0.1.0\myapp.exe, rootAppDir
C:\Users\user\AppData\Local\idpAuthElectronApp 2018-06-28 17:56:15> Unhandled exception: System.NotSupportedException: The given path's format is not supported. atSystem.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks(String fullPath) at
System.Security.Permissions.FileIOPermission.QuickDemand(FileIOPermissionAccess
access, String fullPath, Boolean checkForDuplicates, Boolean needFullPath)
at System.IO.Directory.InternalCreateDirectoryHelper(String path, Boolean
checkHost)
at System.IO.Directory.CreateDirectory(String path)
А вот и мой код:
var handleSquirrelEvent = function() {
if (process.platform != 'win32') {
return false;
}
function executeSquirrelCommand(args, done) {
var updateDotExe = path.resolve(path.dirname(process.execPath), '..', 'update.exe');
var child = cp.spawn(updateDotExe, args, { detached: true });
child.on('close', function(code) {
done();
});
};
function install(done) {
var target = path.resolve(process.execPath);
executeSquirrelCommand(['--createShortcut', target], done);
};
function uninstall(done) {
var target = path.resolve(process.execPath);
executeSquirrelCommand(["--removeShortcut", target], done);
};
var squirrelEvent = process.argv[1];
switch (squirrelEvent) {
case '--squirrel-install':
install(app.quit);
return true;
case '--squirrel-updated':
install(app.quit);
return true;
case '--squirrel-obsolete':
app.quit();
return true;
case '--squirrel-uninstall':
uninstall(app.quit);
return true;
}
return false;
};
if (handleSquirrelEvent()) {
return;
}