私は 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();