0

我有兴趣为我的 C# 应用程序制作一键式安装程序。

我已经关闭了应用程序的框架。installer() 方法中应用程序的逻辑是:

public static void installer(){
        deleteLegacyFiles(); // deletes old files through a find method
        moveSQLite(); // moves the database file
        if(checkRevit2013()){ // checks whether Revit '13 is installed
            movePlugin2013(); // moves my plugin into the Addin folder or Revit
        }else if(checkRevit2014()){ // check whether Revit '14 is installed
            movePlugin2014(); // moves my plugin into the Addin folder or Revit
        }else{ 
            System.out.println("It does not look like you have either Revit 2013 or Revit 2014 installed.");
        }
    }

但是,这个 Java 脚本(不是 Javascript,而是一个 Java 脚本)实际上只取了三个文件夹,/Desktop/并将它们复制到各自的target文件夹中。我对将我所有的三个文件夹转换为一个可执行文件(类似于.exeor .msi)并执行上述操作的解决方案感兴趣。

Java有什么解决方案吗?将多个文件夹/文件打包在一起,然后允许一键安装解决方案的东西?我不完全是如何表达我想要的,因为这是我的第一个软件开发项目。欢迎任何建议。

4

2 回答 2

1

您可以在 java 中创建单个可执行 jar 文件。这个 jar 将有一个应用程序来执行您上面列出的所有复制。但它不会从桌面复制,而是复制可执行 jar 中包含的目录。jar 是一种压缩文件类型(实际上您可以将扩展名从 jar 更改为 zip 并检查内容)。

您的策略将是创建一个常规的 java 应用程序,并将其打包为一个可执行的 jar。将要安装的目录作为资源包含在 jar 中。查看 jar 文档以了解所有用于操作 jar 的 java 实用程序方法和类。

http://docs.oracle.com/javase/tutorial/deployment/jar/

于 2013-10-25T19:36:26.443 回答
0

您是否正在寻找制作/构建可执行 jar 文件?如果是这样,您可以使用类似 one-jar 的东西。

http://one-jar.sourceforge.net/index.php?page=introduction&file=intro

以下是步骤:

  1. 创建一个包含应用程序的 CLASS 文件的可执行 JAR 文件。(导航到工作区的 bin 目录)将此“main.jar”命名为 jar cfm main.jar manifest.txt *.class OR [jar cfm main.jar manifest.txt ]
  2. 创建三个目录:MAIN、LIB 和 BOOT
  3. 将“main.jar”文件放在 MAIN 目录中。
  4. 将你的主应用程序依赖的 jar 文件放在 LIB 目录中。
  5. Naigate to Packaging - 从 MAIN 和 LIB 目录中创建一个新的 JAR 文件。将此命名为“MyUtil.jar”。您不需要添加清单或对此文件执行任何特殊操作。它不需要是可执行的。只需让它包含 MAIN 和 LIB 目录的内容。jar cf MyUtil.jar 主库
  6. 将“one-jar-boot.jar”文件的内容解压到BOOT目录中。
  7. 导航到 BOOT 目录,并使用以下内容更新“MyUtil.jar”文件:jar -uvfm ../MyUtil.jar boot-manifest.mf
  8. 您的“MyUtil.jar”文件现在应该可以执行了。测试一下。
于 2013-10-25T19:34:46.983 回答