0

我是软件开发的新手(虽然不是编程)。我正在交付我的第一个商业版本应用程序,我需要一个单击安装程序包。我研究了许多解决方案——我用 C# 编写了自己的代码(它基本上只是将我的三个文件夹抓取到各自的目的地),但是在捆绑一些 IO 库时遇到了一些问题。由于我使用的是 Visual Studio Express 2012,因此无法使用 InstallShield 模块。我找到了 WiX,虽然它有一些在线教程,但这项服务的学习曲线非常高——可以肯定地说我很困惑。

我有三个文件夹:

  1. myApplication2013 文件夹
  2. myApplication2014 文件夹
  3. 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 指定,至于目标位置:

  1. myApplication-2013 是:C:\\ProgramData\\Autodesk\\REVIT\\Addins\\2013
  2. myApplication-2014 是:C:\\ProgramData\\Autodesk\\REVIT\\Addins\\2014
  3. System.Data.SQLite.dll 是:C:\\Windows\\Microsoft.NET\\assembly\\GAC_64

安装程序真正做的是获取源文件夹/文件(来自上面的 3 个)并将它们复制到目标位置。这也是我的 C# 脚本所做的(尽管它使用 IO 库)。WiX 需要哪些步骤?我感到很困惑。

我还需要创建一个合并模块。

谢谢你。

4

1 回答 1

2

我的开源工具ISWIX在 Visual Studio 中有项目模板,可帮助您删除安装程序。还有一个用于将文件创作到合并模块中的图形 UI。这是一篇包含步骤和视频的文章,向您展示了体验是什么样的。

于 2013-10-28T20:21:54.903 回答