我是软件开发的新手(虽然不是编程)。我正在交付我的第一个商业版本应用程序,我需要一个单击安装程序包。我研究了许多解决方案——我用 C# 编写了自己的代码(它基本上只是将我的三个文件夹抓取到各自的目的地),但是在捆绑一些 IO 库时遇到了一些问题。由于我使用的是 Visual Studio Express 2012,因此无法使用 InstallShield 模块。我找到了 WiX,虽然它有一些在线教程,但这项服务的学习曲线非常高——可以肯定地说我很困惑。
我有三个文件夹:
- myApplication2013 文件夹
- myApplication2014 文件夹
- System.Data.SQLite.dll
我的 C# 代码的逻辑如下:
public static void installer(){
deleteLegacyFiles(); // deletes legacy myApplication directories and files
moveSQLite(); // moves system.data.sqlite database to directory
if(checkRevit2013()){ // install myApplication 2013 if Revit 2013 is installed
moveMyApplication2013();
}else if(checkRevit2014()){ // if Revit 2014 is installed, install myApplication 2014
moveTally2014();
}else{ // tell user both Revit 2014 and Revit 2013 is not installed
System.out.println("It does not look like you have either Revit 2013 or Revit 2014 installed.");
}
}
目标位置将由 .msi 指定,至于目标位置:
- myApplication-2013 是:
C:\\ProgramData\\Autodesk\\REVIT\\Addins\\2013
- myApplication-2014 是:
C:\\ProgramData\\Autodesk\\REVIT\\Addins\\2014
- System.Data.SQLite.dll 是:
C:\\Windows\\Microsoft.NET\\assembly\\GAC_64
安装程序真正做的是获取源文件夹/文件(来自上面的 3 个)并将它们复制到目标位置。这也是我的 C# 脚本所做的(尽管它使用 IO 库)。WiX 需要哪些步骤?我感到很困惑。
我还需要创建一个合并模块。
谢谢你。