Ver Fonte

Included updater update in autoupdate

Krzysztof Krysiński há 2 anos atrás
pai
commit
35b9f899a2

+ 17 - 1
src/PixiEditor/ViewModels/SubViewModels/Main/UpdateViewModel.cs

@@ -99,7 +99,8 @@ internal class UpdateViewModel : SubViewModel<ViewModelMain>
             if (IPreferences.Current.GetPreference("CheckUpdatesOnStartup", true))
             {
                 string dir = AppDomain.CurrentDomain.BaseDirectory;
-                
+                CheckForNewUpdater(dir);
+
                 UpdateDownloader.CreateTempDirectory();
                 if(UpdateChecker.LatestReleaseInfo == null || string.IsNullOrEmpty(UpdateChecker.LatestReleaseInfo.TagName)) return;
                 bool updateFileExists = File.Exists(
@@ -137,6 +138,21 @@ internal class UpdateViewModel : SubViewModel<ViewModelMain>
 #endif
     }
 
+    private void CheckForNewUpdater(string dir)
+    {
+        var newUpdaterFile = Path.Join(dir, "PixiEditor.UpdateInstaller-new.exe");
+        if (File.Exists(newUpdaterFile))
+        {
+            string oldUpdaterFile = Path.Join(dir, "PixiEditor.UpdateInstaller.exe");
+            if (File.Exists(oldUpdaterFile))
+            {
+                File.Delete(oldUpdaterFile);
+            }
+
+            File.Move(newUpdaterFile, oldUpdaterFile);
+        }
+    }
+
     private static void InstallHeadless(string updaterPath)
     {
         try

+ 21 - 15
windows-x64-release-dev.yml

@@ -65,21 +65,6 @@ steps:
     arguments: '--project-path "$(System.DefaultWorkingDirectory)\src\PixiEditor" --build-configuration "$(buildConfiguration)" --runtime "$(buildPlatform)" -o "$(System.DefaultWorkingDirectory)\Builds\PixiEditor-$(architecture)-light\PixiEditor" --crash-report-webhook-url "$(crash-webhook-url)"'
     workingDirectory: 'src/PixiEditor.Builder'
 
-- task: ArchiveFiles@2
-  inputs:
-    rootFolderOrFile: 'Builds\PixiEditor-$(architecture)-light'
-    includeRootFolder: false
-    archiveType: 'zip'
-    archiveFile: 'PixiEditor.$(TagVersion).$(architecture).zip'
-    replaceExistingArchive: true
-
-- task: PublishPipelineArtifact@1
-  displayName: "Publish zip artifact"
-  inputs:
-    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).$(architecture).zip'
-    artifact: 'PixiEditor.$(TagVersion).$(architecture).zip'
-    publishLocation: 'pipeline'
-
 - task: CopyFiles@2
   displayName: "Copy updater to PixiEditor target dir"
   inputs:
@@ -101,6 +86,27 @@ steps:
     artifact: 'PixiEditor-setup-$(architecture).exe'
     publishLocation: 'pipeline'
 
+- task: PowerShell@2
+  inputs:
+    targetType: 'inline'
+    script: 'Rename-Item PixiEditor.UpdateInstaller.exe PixiEditor.UpdateInstaller-new.exe'
+    workingDirectory: 'UpdateInstaller'
+
+- task: ArchiveFiles@2
+  inputs:
+    rootFolderOrFile: 'Builds\PixiEditor-$(architecture)-light'
+    includeRootFolder: false
+    archiveType: 'zip'
+    archiveFile: 'PixiEditor.$(TagVersion).$(architecture).zip'
+    replaceExistingArchive: true
+
+- task: PublishPipelineArtifact@1
+  displayName: "Publish zip artifact"
+  inputs:
+    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).$(architecture).zip'
+    artifact: 'PixiEditor.$(TagVersion).$(architecture).zip'
+    publishLocation: 'pipeline'
+
 - task: ArchiveFiles@2
   displayName: "Create zipped installer"
   inputs:

+ 21 - 15
windows-x64-release.yml

@@ -65,21 +65,6 @@ steps:
     arguments: '--project-path "$(System.DefaultWorkingDirectory)\src\PixiEditor" --build-configuration "$(buildConfiguration)" --runtime "$(buildPlatform)" -o "$(System.DefaultWorkingDirectory)\Builds\PixiEditor-$(architecture)-light\PixiEditor" --crash-report-webhook-url "$(crash-webhook-url)"'
     workingDirectory: 'src/PixiEditor.Builder'
 
-- task: ArchiveFiles@2
-  inputs:
-    rootFolderOrFile: 'Builds\PixiEditor-$(architecture)-light'
-    includeRootFolder: false
-    archiveType: 'zip'
-    archiveFile: 'PixiEditor.$(TagVersion).$(architecture).zip'
-    replaceExistingArchive: true
-
-- task: PublishPipelineArtifact@1
-  displayName: "Publish zip artifact"
-  inputs:
-    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).$(architecture).zip'
-    artifact: 'PixiEditor.$(TagVersion).$(architecture).zip'
-    publishLocation: 'pipeline'
-
 - task: CopyFiles@2
   displayName: "Copy updater to PixiEditor target dir"
   inputs:
@@ -101,6 +86,27 @@ steps:
     artifact: 'PixiEditor-setup-$(architecture).exe'
     publishLocation: 'pipeline'
 
+- task: PowerShell@2
+  inputs:
+    targetType: 'inline'
+    script: 'Rename-Item PixiEditor.UpdateInstaller.exe PixiEditor.UpdateInstaller-new.exe'
+    workingDirectory: 'UpdateInstaller'
+
+- task: ArchiveFiles@2
+  inputs:
+    rootFolderOrFile: 'Builds\PixiEditor-$(architecture)-light'
+    includeRootFolder: false
+    archiveType: 'zip'
+    archiveFile: 'PixiEditor.$(TagVersion).$(architecture).zip'
+    replaceExistingArchive: true
+
+- task: PublishPipelineArtifact@1
+  displayName: "Publish zip artifact"
+  inputs:
+    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).$(architecture).zip'
+    artifact: 'PixiEditor.$(TagVersion).$(architecture).zip'
+    publishLocation: 'pipeline'
+
 - task: ArchiveFiles@2
   displayName: "Create zipped installer"
   inputs:

+ 21 - 15
windows-x86-release-dev.yml

@@ -65,21 +65,6 @@ steps:
     arguments: '--project-path "$(System.DefaultWorkingDirectory)\src\PixiEditor" --build-configuration "$(buildConfiguration)" --runtime "$(buildPlatform)" -o "$(System.DefaultWorkingDirectory)\Builds\PixiEditor-$(architecture)-light\PixiEditor" --crash-report-webhook-url "$(crash-webhook-url)"'
     workingDirectory: 'src/PixiEditor.Builder'
 
-- task: ArchiveFiles@2
-  inputs:
-    rootFolderOrFile: 'Builds\PixiEditor-$(architecture)-light'
-    includeRootFolder: false
-    archiveType: 'zip'
-    archiveFile: 'PixiEditor.$(TagVersion).$(architecture).zip'
-    replaceExistingArchive: true
-
-- task: PublishPipelineArtifact@1
-  displayName: "Publish zip artifact"
-  inputs:
-    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).$(architecture).zip'
-    artifact: 'PixiEditor.$(TagVersion).$(architecture).zip'
-    publishLocation: 'pipeline'
-
 - task: CopyFiles@2
   displayName: "Copy updater to PixiEditor target dir"
   inputs:
@@ -101,6 +86,27 @@ steps:
     artifact: 'PixiEditor-setup-$(architecture).exe'
     publishLocation: 'pipeline'
 
+- task: PowerShell@2
+  inputs:
+    targetType: 'inline'
+    script: 'Rename-Item PixiEditor.UpdateInstaller.exe PixiEditor.UpdateInstaller-new.exe'
+    workingDirectory: 'UpdateInstaller'
+
+- task: ArchiveFiles@2
+  inputs:
+    rootFolderOrFile: 'Builds\PixiEditor-$(architecture)-light'
+    includeRootFolder: false
+    archiveType: 'zip'
+    archiveFile: 'PixiEditor.$(TagVersion).$(architecture).zip'
+    replaceExistingArchive: true
+
+- task: PublishPipelineArtifact@1
+  displayName: "Publish zip artifact"
+  inputs:
+    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).$(architecture).zip'
+    artifact: 'PixiEditor.$(TagVersion).$(architecture).zip'
+    publishLocation: 'pipeline'
+
 - task: ArchiveFiles@2
   displayName: "Create zipped installer"
   inputs:

+ 21 - 15
windows-x86-release.yml

@@ -65,21 +65,6 @@ steps:
     arguments: '--project-path "$(System.DefaultWorkingDirectory)\src\PixiEditor" --build-configuration "$(buildConfiguration)" --runtime "$(buildPlatform)" -o "$(System.DefaultWorkingDirectory)\Builds\PixiEditor-$(architecture)-light\PixiEditor" --crash-report-webhook-url "$(crash-webhook-url)"'
     workingDirectory: 'src/PixiEditor.Builder'
 
-- task: ArchiveFiles@2
-  inputs:
-    rootFolderOrFile: 'Builds\PixiEditor-$(architecture)-light'
-    includeRootFolder: false
-    archiveType: 'zip'
-    archiveFile: 'PixiEditor.$(TagVersion).$(architecture).zip'
-    replaceExistingArchive: true
-
-- task: PublishPipelineArtifact@1
-  displayName: "Publish zip artifact"
-  inputs:
-    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).$(architecture).zip'
-    artifact: 'PixiEditor.$(TagVersion).$(architecture).zip'
-    publishLocation: 'pipeline'
-
 - task: CopyFiles@2
   displayName: "Copy updater to PixiEditor target dir"
   inputs:
@@ -101,6 +86,27 @@ steps:
     artifact: 'PixiEditor-setup-$(architecture).exe'
     publishLocation: 'pipeline'
 
+- task: PowerShell@2
+  inputs:
+    targetType: 'inline'
+    script: 'Rename-Item PixiEditor.UpdateInstaller.exe PixiEditor.UpdateInstaller-new.exe'
+    workingDirectory: 'UpdateInstaller'
+
+- task: ArchiveFiles@2
+  inputs:
+    rootFolderOrFile: 'Builds\PixiEditor-$(architecture)-light'
+    includeRootFolder: false
+    archiveType: 'zip'
+    archiveFile: 'PixiEditor.$(TagVersion).$(architecture).zip'
+    replaceExistingArchive: true
+
+- task: PublishPipelineArtifact@1
+  displayName: "Publish zip artifact"
+  inputs:
+    targetPath: '$(System.DefaultWorkingDirectory)\PixiEditor.$(TagVersion).$(architecture).zip'
+    artifact: 'PixiEditor.$(TagVersion).$(architecture).zip'
+    publishLocation: 'pipeline'
+
 - task: ArchiveFiles@2
   displayName: "Create zipped installer"
   inputs: