Warning: file_put_contents(/datas/wwwroot/jiajiahui/core/caches/caches_template/2/default/show.php): failed to open stream: Permission denied in /datas/wwwroot/jiajiahui/core/libraries/classes/template_cache.class.php on line 55

Warning: chmod(): Operation not permitted in /datas/wwwroot/jiajiahui/core/libraries/classes/template_cache.class.php on line 56
如何在installshield向导完成屏幕上显示安装程序日志文件? - 源码之家

如何在installshield向导完成屏幕上显示安装程序日志文件?

问题描述:

我使用下面的命令来启动从命令提示符我安装:由于我使用/l*v选项,安装程序会自动显示我有它作为“显示窗口标签的完成屏幕上的复选框如何在installshield向导完成屏幕上显示安装程序日志文件?

msiexec /i "myproduct.msi" /l*v install.log 

安装程序日志“。

enter image description here

现在我选中该复选框,然后单击Finish按钮,但它不会打开它得到了在安装过程中创建的文件install.log。我可以看到install.log文件出现在我开始安装的目录的根目录中。为什么日志文件没有打开?

+0

根据日志,它做了什么_does_? –

+0

我没有得到你的问题。你是否说我点击'Finish'按钮时应该在日志中观察一些日志语句。你做? – RBT

+0

如果您查看已创建(但未显示)的日志文件,应该有一个尝试显示日志的自定义操作。想必它失败了。也许日志会显示它试图做什么或失败。 –

我终于能够把它钉死了。实际上,从开始起,我的印象就是显示安装程序日志文件将自行发生。我得到了这样的印象,因为在您将/l*v install.log参数添加到msiexec命令的那一刻,您开始看到“显示Windows Installer日志”复选框,而没有执行任何明确的编码。

该复选框的可见属性由名为ISSHOWMSILOG的预先存在的公共属性进行管理,并且该属性已被烘焙到基本的MSI安装程序项目模板中。现在,如果我们想在被选中的复选框,然后明确的自定义操作已被调用来显示完成按钮的点击该文件将真正显示的日志文件:

事件类型DoAction

事件调用条件MsiLogFileLocation And (ISSHOWMSILOG="1") And NOT ISENABLEDWUSFINISHDIALOG

事件操作ShowMsiLog

我做了后THI将其更改为我的基本MSI项目,然后只有日志文件开始显示在点击Finish按钮上。

+0

我相当确定这个行动应该已经在那里。除非项目最初是在旧版本的InstallShield中创建并迁移的。 (这应该很容易通过一次性测试项目来确认。) –

+0

哦。你是对的。我从头检查了一个新的IS 2016项目,其中有相同的代码。现在我记得我已经将这个项目从IS 2014升级到了IS 2016.但问题是,同样的代码行也出现在IS 2014的新空白项目中。那么在迁移过程中,这些代码怎么会丢失呢? – RBT

+0

我的猜测是来自一个更旧的版本。迁移会忽略大多数对话框,因为您可能已经对它们进行了自定义,并且我们不想破坏它。 –