我有一个从 InstallShield 执行的 .NET 自定义操作 (DTF)。
在 .NET CA 中,我正在提取一个值为"[CommonAppDataFolder]abc\def.txt"
.
该属性的访问方式如下:
string val = session["MY_PROPERTY"]; // Microsoft.Deployment.WindowsInstaller.Session
当我将此变量打印到日志文件时,我得到:C:\ProgramData\abc\def.txt
. 这是我所期望的。
但是,当我使用[]
运算符逐个字符查看时,我会从未替换的值中获取字符:
[CommonAppDataFolder]...
例如,val[0]
is'['
而不是'C'
.
这怎么可能?
此外,==
, string.compare()
,!=
等都没有给出预期的结果(我想这些使用[]
引擎盖下的运算符)。
编辑:
这就是我记录的方式:
session.Log("File name: {0}", val);
这就是我逐字符打印的方式:
for (int i = 0; i < val.Length; i++)
{
session.Log(val[i].ToString());
}