0

要隐藏我正在使用的 WiX 中的属性

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

或者

<Control Id="Password" Password="yes" Type="Edit" X="30" Y="173" Width="220" Height="18" Property="MY_PASSWORD">

我还没有找到可靠的解决方案是如何在评估后将以前隐藏的密码隐藏在日志文件中:

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

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

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

例如设置 Property="SOME_STRING" Value="password=[MY_PASSWORD];other=[ANOTHER_PROPERTY]",让属性字符串显示为“password=********;other=评估字符串”

在使用 util:XmlFile 的情况下,是否有任何方法可以隐藏此处评估的密码,使其不显示在日志文件中?

4

1 回答 1

0

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

在这种情况下(例如 SetProperty、键入 51 CustomAction 或在对话框中发布属性),我所做的是创建对该属性的引用,我将其标记为 Hidden="yes"。

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

处理这种情况:例如设置 Property="SOME_STRING" Value="password=[MY_PASSWORD];other=[ANOTHER_PROPERTY]",让属性字符串显示为 "password=********;other=评估的字符串"

我所做的是编写一个 51 型 CustomAction 来创建该新属性

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

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

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

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

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

于 2015-09-01T16:26:38.077 回答