我正在尝试创建一个安装程序,它将在更新之前备份以前版本的C#程序。我正在使用VS 2015,并查看了安装程序,高级安装程序和InstallShield LE。我真的不知道我在看什么,如何使用自定义动作,几乎任何东西。任何建议或帮助将不胜感激。
答案 0 :(得分:0)
首先让我解释一下。
备份以前的版本
首先,您需要确定当前应用程序的安装文件夹。您可以创建一个注册表项来保存应用程序的安装位置(您需要在应用程序的首次安装程序中执行此操作)。为此您可以使用Registry.LocalMachine.CreateSubKey(@"SOFTWARE\ProductName\appPathHere")
。然后,在新的安装程序中,您可以阅读注册表项以获取应用程序的路径。然后,您可以做的是创建该路径/文件夹的ZIP。为此,您可以使用:< / p>
System.IO.Compression.ZipFile.CreateFromDirectory(pathofApp, zipFilePath);
这将备份当前的应用程序。您甚至可以修改文件类型/扩展名,为其提供自定义类型/扩展名。
安装应用程序
阅读注册表项以获取已安装文件的路径。使用System.IO.Directory.Delete(path, true)
删除它。您可以压缩所有文件,然后让安装程序将其解压缩到特定位置。您只需使用:
System.IO.Compression.ZipFile.ExtractToDirectory(zipPath, extractPath);
创建安装程序
我建议您创建一个winform或WPF应用程序,设计UI并实现上述方法。
这不是理想的方式,但它会让你了解如何使用基本知识完成它。希望它可以帮助你