【发布时间】:2020-08-05 15:21:11
【问题描述】:
我正在寻找一种使用 JScript 记录安装程序日志消息的方法,并偶然发现了这个答案:
How to debug an MSI Custom Action that is implemented in Javascript?
效果很好。但是,代码中有一些我无法弄清楚的有趣之处。在这种方法中:
// spool an informational message into the MSI log, if it is enabled.
function LogMessage(msg) {
var record = Session.Installer.CreateRecord(0);
record.StringData(0) = "CustomAction:: " + msg;
Session.Message(MsgKind.Log, record);
}
从语法/语义的角度来看,record.StringData(0) = "CustomAction:: " + msg; 行是如何工作的?在我看来,这是试图为函数调用的返回值分配一个值,这应该是非法的还是充其量是无操作?但它确实有效,并且该消息已打印在日志中。
我错过了什么?
【问题讨论】:
-
@JavaScript 这不适用于 JavaScript,上面的方法无论如何都会失败;然而,在 JScript 中,微软创建了一些“特殊行为”,允许在一些特殊对象上这样做。
标签: javascript jscript advanced-installer