如何从 InstallShield Suite/高级 UI 设置的日志中隐藏输入的密码值

Posted

技术标签:

【中文标题】如何从 InstallShield Suite/高级 UI 设置的日志中隐藏输入的密码值【英文标题】:How to hide entered password value from logs of an InstallShield Suite/Advanced UI setup 【发布时间】:2021-11-30 01:43:39 【问题描述】:

在使用 /debuglog 命令行时,有没有办法隐藏一些敏感属性以防止登录 InstallShield Suite/Advanced UI 项目? 类似于 MSI 项目的 MsiHiddenProperties 的东西?

场景:

使用适用于 Windows 的 InstallShield 2015 Premier 有一个 PasswordBox 控件绑定到安装程序属性(你知道,就是隐藏 UI 上的值的那个)

问题: 在以下情况下,密码会以明文形式写入设置日志:

问题 1:用户更改 PasswordBox 的值 问题 2:密码值被传递到 MSI 命令行

现在日志输出如下:

10-11-2021[10:58:25 AM]: Engine: property 'ServiceAccountPassword' value now 'm'
10-11-2021[10:58:25 AM]: Engine: property 'ServiceAccountPassword' value now 'my'
10-11-2021[10:58:26 AM]: Engine: property 'ServiceAccountPassword' value now 'myp'
10-11-2021[10:58:26 AM]: Engine: property 'ServiceAccountPassword' value now 'mypa'
10-11-2021[10:58:26 AM]: Engine: property 'ServiceAccountPassword' value now 'mypas'
10-11-2021[10:58:26 AM]: Engine: property 'ServiceAccountPassword' value now 'mypass'
10-11-2021[10:58:26 AM]: Engine: property 'ServiceAccountPassword' value now 'mypassw'
10-11-2021[10:58:27 AM]: Engine: property 'ServiceAccountPassword' value now 'mypasswo'
10-11-2021[10:58:27 AM]: Engine: property 'ServiceAccountPassword' value now 'mypasswor'
10-11-2021[10:58:27 AM]: Engine: property 'ServiceAccountPassword' value now 'mypassword'

10-11-2021[10:59:27 AM]: Final command line: REBOOT=ReallySuppress TRANSFORMS=1033.mst SERVICEPASSWORD="mypassword" <rest of command line removed>

【问题讨论】:

【参考方案1】:

找到解决方案:

InstallShield Suite 设置有一个“ISHiddenProperties”属性。

试过了,有效。

链接到Official Revenara documentation

官方文档中的文字:

为了防止某个属性被写入日志文件:

    行为和逻辑下的查看列表中,点击Property Manager

    Name 列中,找到 ISHiddenProperties 属性。

    如果此属性未列出,请单击新建属性按钮创建此属性,并在名称列中输入ISHiddenProperties

    列中,输入您不想记录其值的属性的名称;确保您使用相同的大小写。 要列出多个属性,请用分号 (;) 分隔每个属性。

请注意,ISHiddenProperties 对于防止记录 以下场景中的值:

• 属性值发生变化。

• 最终用户设置的值 启动高级 UI 时通过命令行的属性或 套件/高级 UI Setup.exe 文件。

• 通过命令行配置属性,高级 UI 或套件/高级 UI 安装 传递给一个包。这可以在 Packages 视图中配置,在 通用选项卡,在操作区域中。

如果属性已通过 ISuiteExtension::LogInfo,套件引擎无法阻止日志记录。 因此,您创建的用于将属性值写入 日志文件应读取 ISHiddenProperties 以查看该属性是否 应该记录值。

【讨论】:

以上是关于如何从 InstallShield Suite/高级 UI 设置的日志中隐藏输入的密码值的主要内容,如果未能解决你的问题,请参考以下文章

InstallShield 2011 未从服务列表中删除服务

在Visual Studio和InstallShield中签署所有需要的文件

使用 installshield 从命令行卸载

Installshield:如何更新已经运行的 Windows 服务

如何在 Installshield 2010 Premier 中配置和验证序列号

如何使用 InstallShield 在 Windows 上最好地安装 Python + 模块