我一直在使用Squirrel.Windows成功部署WPF一段时间了。我让我的机器重新成像,RELEAESES
文件夹中的Releases
文件是从头开始重新创建的,因为我完全在我的.gitignore
中排除了这个文件夹。这似乎打破了我重新映像之前创建的版本上的用户的自动更新功能。
我可以在RELEASES
文件中设置什么来强制旧版本在不重新创建所有nuget包的情况下引入更新的版本?
这是我的RELEASES
文件的相关部分。版本2.0.6121.16815
上的用户不会自动迁移到底部的较新版本。
这是app.xaml.cs
的更新代码。不确定它是否相关,因为它在技术上运行良好。
Task.Run(async () =>
{
using (var mgr = new UpdateManager(updatePath, packageName))
{
var updates = await mgr.CheckForUpdate();
if (updates.ReleasesToApply.Any())
{
try
{
var lastVersion = updates.ReleasesToApply.OrderBy(x => x.Version).Last();
await mgr.DownloadReleases(updates.ReleasesToApply);
await mgr.ApplyReleases(updates);
try
{
latestExe = Path.Combine(mgr.RootAppDirectory, string.Concat("app-", lastVersion.Version), "App.exe");
log.Debug("Latest exe:" + latestExe);
mgr.CreateShortcutsForExecutable(latestExe, DefaultLocations, false);
}
catch(Exception ex)
{
log.Error("error creating shortcuts for executable",ex);
}
restart = true;
}
catch(Exception ex)
{
log.Error("Error pulling in updated files", ex);
}
}
else
{
//No updates
log.Debug("No updates available");
}
}
if (restart)
{
log.Debug("Updated App. Restarting...");
UpdateManager.RestartApp(latestExe);
}
}).Wait();