使用Java创建可执行安装程序

时间:2013-10-25 19:17:25

标签: java installer windows-installer

我有兴趣为我的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文件夹中。我感兴趣的是一个解决方案,将我的三个文件夹转换为一个可执行文件(类似于.exe.msi)并执行上述操作。

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

2 个答案:

答案 0 :(得分:1)

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

你的策略是创建一个普通的java应用程序,包作为可执行jar。在jar中包含要作为资源安装的目录。查看jar文档,了解所有java实用程序方法和类来操作jar。

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

答案 1 :(得分:0)

您是否正在寻找制作/构建可执行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 main lib
  6. 将“one-jar-boot.jar”文件的内容解压缩到BOOT目录中。
  7. 导航到BOOT目录,并使用以下内容更新“MyUtil.jar”文件:        jar -uvfm ../MyUtil.jar boot-manifest.mf
  8. 您的“MyUtil.jar”文件现在应该是可执行的。测试一下。