我有一个脚本,它汇集了许多要安装的文件。这包括许多空目录。
以前我会在清单文件中使用D标志来复制空目录。但是由于我生成清单文件的方式(作为构建过程的一部分),我有时会得到两个具有相同目标文件夹的D条目。 e.g:
D;${A_LIB}/all/pysys/${PYSYS_VERSION}/lib/python2.7/site-packages;./third_party/python/lib/python2.7/site-packages;COMMON;${UNIX}
D;${A_LIB_BT}/python/${PYTHON_VERSION};./third_party/python;COMMON;${ALL}
这会导致InstallAnywhere无法构建安装程序。
为了解决这个问题,我重新编写了清单生成代码来解析之前由D指向的目录,并用目录中每个文件的F条目替换D条目。
不幸的是,这不包括空目录(我们可能/可能不需要在安装程序中,但一般来说创建它们比让某些代码失败因为它们不在那里更安全)。
我在清单中尝试了以下内容。 Reference,Reference3和Reference4为空,Reference2包含一个目录(它本身是空的)。
中只有Reference2存在于安装中 - 其他三个是空目录似乎被排除在外。D,$IA_PROJECT_DIR$/samples/pysys/cor_002/Reference,./samples/pysys/cor_002/Reference
D,$IA_PROJECT_DIR$/samples/pysys/cor_002/Reference2,./samples/pysys/cor_002/Reference2
D,$IA_PROJECT_DIR$/samples/pysys/cor_002/Reference3/.,./samples/pysys/cor_002/Reference3/.
D,$IA_PROJECT_DIR$/samples/pysys/cor_002/Reference4/../Reference4,./samples/pysys/cor_002/Reference4/../Reference4
我也尝试过提高日志级别,但这并没有透露任何内容。有没有办法提高这个日志级别?
export LAX_DEBUG=true
有什么建议吗?
免责声明:我已将此问题发布到InstallAnywhere's forums,但我会尽力保持答案的同步并传播知识。
答案 0 :(得分:1)
我不能说出你明显的挑战。但是,我的第一个想法是将清单生成器更改为对重复输出位置敏感 - 可能通过将它们存储在Map
或Set
中 - 然后通过使构建失败来处理冲突或调整输出位置。
另一方面,我可以告诉您如何增加安装程序的详细程度。
通过添加以下内容使安装程序更加详细:
-Dlax.debug.all=true -Dlax.debug.level=3
到Project > JVM Settings > Installer Settings (tab) > Optional Installer Arguments > Additional Arguments
。您需要在发货前删除这些。您还可以在启动安装程序时将这些添加到命令行。等级4和5也有效,而且更加冗长。
您也可以转到Project > JVM Settings > Log Settings
,让安装程序将其进度打印到控制台。在这里,取消选中Include debug output (stderr and stdout)
。然后在Send stderr to:
和Send stdout to:
中输入 console 一词。您也可以设置特定的文件名,而不是控制台。您还需要在发货前撤消这些设置。
答案 1 :(得分:0)
解决方案结果非常简单,我从未尝试过。
要通过Install Anywhere安装EMPTY目录,您必须将目录指定为清单中的文件。所以使用以下目录结构:
您需要将清单中的条目指定为F.然后指定为D只会导致包含“Reference2”目录。
F,$IA_PROJECT_DIR$/samples/pysys/cor_002/Reference,./samples/pysys/cor_002/Reference
F,$IA_PROJECT_DIR$/samples/pysys/cor_002/Reference2,./samples/pysys/cor_002/Reference2
F,$IA_PROJECT_DIR$/samples/pysys/cor_002/Reference3/.,./samples/pysys/cor_002/Reference3/.
F,$IA_PROJECT_DIR$/samples/pysys/cor_002/Reference4/../Reference4,./samples/pysys/cor_002/Reference4/../Reference4
很抱歉回答我自己的问题,真的不是计划!