5

完成更改后,我必须为 Jitsi SIP Communicator 创建安装程序。我在网上搜索并找到了一些步骤如下:

  1. 软件要求

  2. 环境变量:

    • 导出变量包含:
    • ANT_HOME=C:\apache-ant-1.8.3
    • JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_31
    • 添加到路径:%ANT_HOME%\bin C:\MinGW\bin C:\cygwin\bin C:\MinGW\msys\1.0 C:\Program Files\WiX C:\Program Files (x86)\Gnuwin32\Make\bin
  3. 附加任务:

    • 编辑“installers.properties”,为要添加到安装程序和/或 JRE(.zip 或文件夹)文件的 JRE 文件添加路径。
    • 编译项目。
  4. 执行构建脚本:

    • 启动 Cygwin 终端
    • 转到 /cygdrive/.../{dir_root Jitsi} -执行:ant build-installation-wix(为 windows x86 创建安装程序)ant build-installation-wix-64(为 windows x64 创建安装程序)ant build -installation-linux(为 linux 创建安装程序) ant dmg(为 MacOSX 创建安装程序,仅在 MacOSX 上运行

但是当我在 cygwin 上执行上面给出的命令时,我发现了以下错误:

build-installation-wix-base: [propertyfile] 创建新属性文件:D:\javaprojects\jitsi\release\windows\versionupdate.properties [mkdir] 创建目录:D:\javaprojects\jitsi\release\windows\tmp\light [exec] Makefile:40: *目标模式不包含 `%'。停止。

构建失败 D:\javaprojects\jitsi\resources\install\build.xml:302:执行此行时发生以下错误:D:\javaprojects\jitsi\resources\install\build.xml:403: exec 返回:2

请提出解决方案。

4

1 回答 1

5

我遇到了与您提到的相同的问题。我终于尝试了自己,并在 Windows 中构建了 Jitsi,包括 32 位和 64 位版本。

我没有使用 Cygwin,只是使用了 Mingw+Msys。

这是我所做的:

  1. 在 C:/mingw/x86 文件夹中安装 Mingw + Msys
  2. 安装 ANT
  3. 在 c:/mingw/bzip2 中安装 BZip2
  4. 在 c:/mingw/xz 中安装 xz
  5. 安装 Wix ,我安装在 C:/win35 中。在resources/install/build.xml中更改wix安装路径的位置 6) 删除mingw/msys/1.0/bin里面的make.exe文件,将mingw/bin/mingw-make.exe重命名为make.exe

我不得不稍微更改 Makefile,以下是我所做的更改:

1) 删除目标目录初始化中的引号:

-    target.dir := "$(TARGET_DIR)"
-    cygwin.target.dir := "$(TARGET_DIR)"
+    target.dir := $(TARGET_DIR)
+    cygwin.target.dir := $(TARGET_DIR)

2)将单行回显改为多行:

-       echo.exe -e '#define PRODUCTNAME "$(PRODUCTNAME)"\n#define PRODUCTBUILDVERSION "$(PRODUCTBUILDVERSION)"\n#define
+       echo #define PRODUCTNAME "$(PRODUCTNAME)" > $(cygwin.target.dir)/config.h
+       echo #define PRODUCTBUILDVERSION "$(PRODUCTBUILDVERSION)" >> $(cygwin.target.dir)/config.h
+       echo #define TARGET_BASENAME "$(TARGET_BASENAME)" >> $(cygwin.target.dir)/config.h
+       echo #define TARGET_BASENAME_EXE "$(TARGET_BASENAME).exe" >> $(cygwin.target.dir)/config.h

3) 在 resources/install/installers/properties - 指定安装 IzPack 的位置,并给出 JRE 的 zip 文件的位置。当我使用 JRE 的设置文件时,构建没有捆绑 JRE”

+windows.jre.zip=C:\\JavaInstallers\\jre32.zip
+windows.jre64.zip=C:\\JavaInstallers\\jre64.zip

最后,我编写了一个简单的批处理脚本来构建安装程序:

set PATH=C:\apps\apache-ant-1.9.1\bin;C:\MinGW\bin;C:\MinGW\msys\1.0\bin;C:\wix35

set ANT_HOME=C:\apps\apache-ant-1.9.1
set JAVA_HOME=C:/Program Files (x86)\Java\jdk1.7.0_17
set BZ2_HOME=c:/mingw/bzip2_x86
set LZMA_HOME=C:/mingw/xz
set MINGW_HOME=C:/mingw

start /B /LOW /WAIT ant build-installation-wix

这是针对 32 位版本的。

不过,对于 64 位,我必须自己从源代码构建 bzip2。这可以通过下载 Bzip2 源代码并通过 mingw 编译来完成。是一件容易的事。其余步骤都一样。

请尝试一下,让我知道这是否对您有用。

于 2014-03-26T10:44:36.107 回答