【发布时间】:2018-03-29 18:40:13
【问题描述】:
我正在尝试创建一个安装程序,该程序将在更新之前备份 C# 程序的早期版本。我正在使用 VS 2015,并查看了安装程序、高级安装程序和 InstallShield LE。我真的不知道我在看什么,如何使用自定义操作,几乎任何东西。任何建议或帮助将不胜感激。
【问题讨论】:
标签: c# visual-studio-2015 backup upgrade installation-package
我正在尝试创建一个安装程序,该程序将在更新之前备份 C# 程序的早期版本。我正在使用 VS 2015,并查看了安装程序、高级安装程序和 InstallShield LE。我真的不知道我在看什么,如何使用自定义操作,几乎任何东西。任何建议或帮助将不胜感激。
【问题讨论】:
标签: c# visual-studio-2015 backup upgrade installation-package
让我先解释几件事。
备份以前的版本
首先,您需要确定当前应用程序的安装文件夹。您可以创建一个注册表项来保存应用程序的安装位置(您需要在应用程序的首次安装程序中执行此操作)。您可以使用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应用程序,设计UI并实现上述方法。
这不是理想的方法,但它可以让您了解如何通过基本知识完成它。希望它对您有所帮助
【讨论】: