如何在installshield向导完成屏幕上显示安装程序日志文件?
我使用下面的命令来启动从命令提示符我安装:由于我使用/l*v
选项,安装程序会自动显示我有它作为“显示窗口标签的完成屏幕上的复选框如何在installshield向导完成屏幕上显示安装程序日志文件?
msiexec /i "myproduct.msi" /l*v install.log
安装程序日志“。
现在我选中该复选框,然后单击Finish按钮,但它不会打开它得到了在安装过程中创建的文件install.log
。我可以看到install.log
文件出现在我开始安装的目录的根目录中。为什么日志文件没有打开?
我终于能够把它钉死了。实际上,从开始起,我的印象就是显示安装程序日志文件将自行发生。我得到了这样的印象,因为在您将/l*v install.log
参数添加到msiexec
命令的那一刻,您开始看到“显示Windows Installer日志”复选框,而没有执行任何明确的编码。
该复选框的可见属性由名为ISSHOWMSILOG
的预先存在的公共属性进行管理,并且该属性已被烘焙到基本的MSI安装程序项目模板中。现在,如果我们想在被选中的复选框,然后明确的自定义操作已被调用来显示完成按钮的点击该文件将真正显示的日志文件:
事件类型:DoAction
事件调用条件:MsiLogFileLocation And (ISSHOWMSILOG="1") And NOT ISENABLEDWUSFINISHDIALOG
事件操作:ShowMsiLog
我做了后THI将其更改为我的基本MSI项目,然后只有日志文件开始显示在点击Finish
按钮上。
我相当确定这个行动应该已经在那里。除非项目最初是在旧版本的InstallShield中创建并迁移的。 (这应该很容易通过一次性测试项目来确认。) –
哦。你是对的。我从头检查了一个新的IS 2016项目,其中有相同的代码。现在我记得我已经将这个项目从IS 2014升级到了IS 2016.但问题是,同样的代码行也出现在IS 2014的新空白项目中。那么在迁移过程中,这些代码怎么会丢失呢? – RBT
我的猜测是来自一个更旧的版本。迁移会忽略大多数对话框,因为您可能已经对它们进行了自定义,并且我们不想破坏它。 –
根据日志,它做了什么_does_? –
我没有得到你的问题。你是否说我点击'Finish'按钮时应该在日志中观察一些日志语句。你做? – RBT
如果您查看已创建(但未显示)的日志文件,应该有一个尝试显示日志的自定义操作。想必它失败了。也许日志会显示它试图做什么或失败。 –