WiX工具集 - 隐藏属性在其他地方引用时不再隐藏

时间:2015-08-31 21:03:13

标签: wix wix3.9

使用

在WiX中隐藏属性
$test[$row['Champion']][$column_name] =$column; 

或者

<Property Id="MY_PASSWORD" Hidden="yes" />

我还没有找到一个可靠的解决方案,就是如何在以下隐藏的日志文件中保留以前隐藏的密码:

  • 另一个属性(例如SetProperty,类型51 CustomAction,在对话框中发布属性)
  • 一个util:XmlFile条目

一旦在另一个WiX元素中使用了密码,是否有办法在不泄露密码的情况下评估密码?

在SetProperty或类型51 CustomAction的实例中,有没有办法隐藏原始密码而无需隐藏字符串的其余部分。

例如set Property =&#34; SOME_STRING&#34;值=&#34;密码= [MY_PASSWORD];其他= [ANOTHER_PROPERTY]&#34;,属性字符串显示为&#34;密码= ********;其他=已评估的字符串&# 34;

在使用util:XmlFile的例子中,有没有办法隐藏在此处评估的密码显示在日志文件中?

1 个答案:

答案 0 :(得分:0)

这是我提出的解决方案,我愿意接受更好的解决方案。

在(例如SetProperty,键入51 CustomAction或在对话框中发布属性)的情况下,我所做的是创建对属性的引用,我将其标记为Hidden =&#34; yes&#34;。< / p>

<Property Id="Property_2" Hidden="yes" />

处理案例:例如,设置Property =&#34; SOME_STRING&#34;值=&#34;密码= [MY_PASSWORD];其他= [ANOTHER_PROPERTY]&#34;,属性字符串显示为&#34;密码= ********;其他=已评估的字符串&# 34;

我所做的是编写51类CustomAction以创建新属性

<CustomAction Id="Set.NewProperty" Property="NewProperty" Value="password=[MY_PASSWORD];other=[ANOTHER_PROPERTY]" />

并为新属性添加单独的引用以隐藏它。

<Property Id="NewProperty" Hidden="yes" />

这有助于我从util:XmlFile中隐藏这些细节。

在我看来,这个解决方案并不完美。使用此方法隐藏整个字符串。我更喜欢只隐藏字符串的密码详细信息部分的解决方案。