如何从 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:如何更新已经运行的 Windows 服务