问题标签 [squirrel.windows]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
951 浏览

c# - Squirrel for Windows - Setup/Install fails on Windows 7

I am building a .net 4.5 (c#) app and packaging it with Squirrel for Windows. As expected, the releasify command creates one Setup.exe file and one Setup.msi. The Setup.exe installs the app as expected on the two windows 10 computers I had access to.

On the windows 7 I used to build the app though, when I try to open Setup.exe, the window where I double clicked the icone goes in "please wait mode" (with the blue progress circle instead of the usual mouse pointer) forever. If I check the processes open at that point, I see three Setup.exe that I cannot kill with the kill process button or via Taskkill command. And all I can do at that point to kill them is pretty much rebooting.

As to the Setup.msi, it seems to do nothing I can see (tells me something like "checking requirements", and once it has, it just closes with no visible effect).

Any idea about what's going on or how I could find out?

0 投票
0 回答
1301 浏览

electron - 便携式电子应用程序

我有一个基于 git electron 的应用程序。(对于窗户)

我需要这个应用程序可以在 USB 磁盘上便携,并且我希望这个应用程序具有自动更新功能。

Grunt-electron-installer 使用squirrel.windows作为更新机制。Squirrel 使用带有 CSIDL_LOCAL_APPDATA 的 SHGetFolderPath 函数来决定安装路径,通常是C:\Users\Username\AppData\Local\$pkgName

我的问题是;

  • 有没有更好的方法可以用作便携式电子应用程序的自动更新功能?
  • 我可以使用Enigma 虚拟盒作为虚拟系统来克服 squirrel.windows 路径问题。在这个选项中,我需要一种方法来更改虚拟系统中的 CSIDL_LOCAL_APPDATA 变量。任何想法?

任何帮助将非常感激。谢谢

0 投票
0 回答
1124 浏览

node.js - Electron 4 Windows -> electron-builder -> 自动更新:自定义解决方案

我正在使用 Electron 为 Windows 构建一个应用程序。要打包和分发它,我正在使用electron-builder。Electron-builder 依赖于许多包,并且对于自动更新,它使用Squirrel-windows

我一直在与 Windows 上的自动更新作斗争 3 天,最后我想出了一个似乎没有问题的可行解决方案。

我不会详细介绍我尝试过的方法,但都失败了。相反,我将在这里发布我提出的解决方案。

我正在与你们分享它,看看你们是否可以向我指出任何会使我的系统失败的缺陷,或者,如果它确实是一个可靠的解决方案,以帮助那些像我一样挣扎的人。出于后一个原因,我发布了一些不必要的代码,希望对其他人有所帮助。

逻辑如下:

  • 如果当前可执行文件路径内的子文件夹fullupdate不存在(见后文,会澄清),我们连接在线服务器并通过发送当前应用程序版本来检查是否有更新;
  • 如果没有更新,什么也不做。
  • 如果有更新,我们指示服务器返回一个json包含 url 的字符串,我们可以从中下载.exeelectron-builder. 注意:不是.nupkg(未提供服务器代码:-))。
  • 我们下载文件并将其保存fullupdate在当前保存我们的应用程序的本地文件夹中的子文件夹中。这应该是“安全的”,因为electron-builder将应用程序保存在当前用户文件夹AppData中,所以我们不应该有权限问题。
  • 在下载结束时,我们update在文件夹中创建一个新文件fullupdate,以确保下载成功完成。我们也可以重命名文件,但我更喜欢这种方式。
  • 下次打开应用程序时:
    • 如果文件夹fullupdate存在,我们检查文件是否update存在。如果不存在,说明下载没有完成,所以我们删除文件夹fullupdate并再次调用远程服务器重新开始。
    • 否则,如果文件update存在,我们启动.exe我们下载的文件,并返回 true。这将阻止应用程序打开主窗口。很酷的是,更新程序将删除保存的整个旧版本的应用程序AppData(同时保留本地用户数据)并用新版本替换它。这样,我们也将摆脱文件夹fullupdate

现在代码:

0 投票
1 回答
634 浏览

visual-studio - 从命令行中的 AssemblyInfo.cs 获取 AssemblyVersion 号

我正在尝试自动化 Jenkins 中的工作以构建和部署 Visual Studio 解决方案。我们已经可以让 Jenkins 来构建项目了。我创建了一个批处理文件,Jenkins 在部署 Squirrel 包的项目构建之后运行,但我已经参数化了批处理文件以及 Jenkins 作业,这意味着我每次运行作业时仍然手动输入版本号。我们需要的是从项目中提取版本号,以便它可以用作 Squirrel 批处理文件中的参数。

0 投票
1 回答
269 浏览

c# - 如何确定是否所有线程都已完成 C#

我有一个 WPF 应用程序在后台更新自身(通过 Squirrel.Windows),这是通过以下代码完成的:

此代码位于OnStartup()This App.xaml.cs is an Async and Await 调用中,因此它将在后台完成。现在我想知道在我关闭我的应用程序之前是否有可能我可以查看启动的这个线程是否仍在运行。如果是这样我无法关闭应用程序但我想隐藏任务栏中的图标并最小化应用程序。所以当它完成时我仍然可以更新我想关闭应用程序......

我希望有人能指出我正确的方向。

更新:这是我在 App.xaml.cs 中的 OnStartup 的完整代码

我想要做的是让 Squirrel 确定是否有更新,他们将自动下载所有必要的文件并在重新启动应用程序后应用它们。但是因为这个应用程序是另一个应用程序的某种启动器,它将检查这个应用程序的更新并安装(解压缩)它们,它会在安装完成并启动安装的应用程序后自行关闭。但是,如果启动应用程序仍在自我更新,则无法关闭并重新启动它。

用一个简单的visio绘图简单解释一下: Visio 绘图

0 投票
1 回答
324 浏览

octopus-deploy - 使用 Octopus 部署 Squirrel 应用程序

如果有人设法使用 Octopus 工作流程部署了 Squirrel 安装程序 ( https://github.com/Squirrel/Squirrel.Windows ),我很感兴趣。我已经有一个 ClickOnce 部署运行得很好,但是对于 Squirrel,我需要访问 nupkg,运行一些 XML 转换的能力,最后运行命令行将它推送到 UNC 位置。所以它实际上永远不会到达要安装的远程机器。我意识到 Octopus 有不同的主要交付重点,但我想知道是否有人想出办法做到这一点。

感谢您对此的任何意见,C。

0 投票
2 回答
1324 浏览

windows - 如何调试用松鼠打包的电子应用程序在某些计算机上无法启动

我使用 Squirrel 打包器/更新管理器构建了一个 Electron 应用程序。我在构建捆绑包时没有任何问题,仅针对 Windows 64 位。

我将它安装在我的 Macbook pro 上(在 windows 7 x64 双启动上)没有问题。我还在 64 位 Surface pro 3 (Win 10) 和另一台 Win 7 PC 上对其进行了测试。一切正常。

我发布了该应用程序并获得了数百次下载:下载它的人中有一半可以运行,而另一半则无法启动。该过程产生,然后在一秒钟后死亡。我尝试在管理员中启动它,管理员对话框甚至不会显示。我尝试从命令行运行它

但是外面是空的。我该如何调试呢?

0 投票
1 回答
727 浏览

electron - Unable to update app from squirrel nuts server

So I have setup a squirrel nuts server (https://github.com/GitbookIO/nuts) for my electron app and everything is up and running, but when it checked the feed url for an update, it doesn't find it.

The update-available event never fires.

The feed url is set to: https://nuts.mywebsite.com/update/platform/version

I have two releases in my github repo, and the first one is installed.

I should note that I have setup the github webhook, so this shouldn't be a cacheing issue. I have confirmed that the releases files are all available to download via the url manually.

I checked the SquirrelSetup.log file and it seems to be hitting the URL, just not getting the update.

2016-08-13 23:36:04> CheckForUpdateImpl: Downloading RELEASES file from https://nuts.mywebsite.com/update/win32/0.0.1-alpha

2016-08-13 23:36:04> FileDownloader: Downloading url: https://nuts.mywebsite.com/update/win32/0.0.1-alpha/RELEASES?id=MyApp&localVersion=0.0.1-alpha&arch=amd64

Contents of /api/versions:

0 投票
1 回答
476 浏览

c# - 使用查询字符串参数从 url 下载自定义设置

我制作了一个 Windows 服务应用程序,我想创建一个安装文件。当用户通过我们的网站 url 使用查询参数请求应用程序时(例如:http ://test.com/setup.exe?id=1212 ),我需要将当前 app.config 键值更改为该查询参数值。

当新版本准备好时,我还需要自动更新此应用程序。因此,Windows 的 ClickOnce 或 squirrel 可能是一种选择,但因为我找不到实现上述任务的方法。

以下问题有点相似,但不能解决这个问题: *我们如何在 ClickOnce 应用程序中检索查询字符串信息? * ClickOnce:如何*通过安装程序*将查询字符串值传递给我的应用程序?

我怎样才能做到这一点?

0 投票
1 回答
410 浏览

build - Electron 应用程序:控制松鼠安装事件

我构建了一个电子应用程序,使用 electron-packager 打包应用程序并使用 windows-installer 构建安装程序。

Todo:我想在安装应用程序期间运行一些命令。

我尝试了什么:

将代码放入松鼠事件中以执行命令:

如果命令可以成功运行,则效果很好。但是,我还需要处理命令失败的情况。在这种情况下,我想停止安装该应用程序,但它不能。

有人有什么主意吗?