Создание установочного пакета C#, который создает резервную копию предыдущей версии перед обновлением.
Я пытаюсь создать программу установки, которая будет делать резервную копию предыдущей версии программы на C# перед ее обновлением. Я использую VS 2015, и посмотрел на установщик, расширенный установщик и InstallShield LE. Я действительно не знаю, на что я смотрю, как использовать пользовательские действия, почти все, что угодно. Любой совет или помощь будут оценены.
1 ответ
Позвольте мне сначала объяснить несколько вещей.
Резервное копирование предыдущей версии
Во-первых, вам нужно указать папку для установки вашего текущего приложения. Вы можете создать раздел реестра, чтобы сохранить место установки приложения (это необходимо сделать в первоначальной программе установки вашего приложения). Для этого вы можете использовать Registry.LocalMachine.CreateSubKey(@"SOFTWARE\ProductName\appPathHere")
Затем в вашем новом инсталляторе вы можете прочитать раздел реестра, чтобы получить путь к приложению. Затем вы можете создать ZIP-архив с этим путем / папкой. Для этого вы можете использовать:
System.IO.Compression.ZipFile.CreateFromDirectory(pathofApp, zipFilePath);
Это создаст резервную копию текущего приложения. Вы даже можете изменить тип файла / расширение, чтобы придать ему свой тип / расширение.
Установка приложения
Прочтите раздел реестра, чтобы узнать путь к установленному файлу. Удалите его, используя System.IO.Directory.Delete(path, true)
.Вы можете архивировать все свои файлы, а затем заставить установщик распаковать его в определенное место. Вы можете просто использовать:
System.IO.Compression.ZipFile.ExtractToDirectory(zipPath, extractPath);
Создание установщика
Я предлагаю вам создать приложение winform или WPF, разработать пользовательский интерфейс и реализовать описанные выше методы.
Это не идеальный способ, но он даст вам представление о том, как сделать это с базовыми знаниями. Надеюсь, это поможет вам