内部 Inno Setup 安装程序没有与 AppLocker 规则冲突的主安装程序的产品名称
Internal Inno Setup installer does not have product name of main installer which conflicts with AppLocker rule
我正在为 C# 软件创建一个签名安装程序,该软件将 运行 在受 Windows AppLocker 保护的系统中。 AppLocker 规则仅允许在其 Fqbn
(完全限定的二进制名称)中具有产品名称 "MyAppName" 的软件自行安装。我购买了证书并使用 Inno Setup 的 signtool 功能对应用程序的 exe 和安装程序进行了签名,效果很好。安装程序和 exe 在其 Fqbn
.
中包含正确的产品名称
但是!
安装时,安装程序会创建一个自身的临时副本,其 Fqbn
字段中不包含产品名称。不过,原始安装程序确实如此。出版商名称在所述字段中保持不变 ("O=My Company, L=My Town, S=My State, C=DE"
)。
关于如何解决这个问题有什么想法吗?如何获取安装程序临时副本中的产品名称?
更新
以下是 AppLocker 在客户 PC 上生成的事件日志。
这是安装程序临时副本的日志(已拒绝)。 Fqbn 中缺少产品名称(只有三个反斜杠):
这是软件二进制文件的日志(允许)。那里有产品名称以及二进制文件的名称:
升级到 Inno Setup 6.0.4,它会更新内部安装程序二进制文件的产品名称:
Windows AppLocker publisher conditions are now supported by Setup up to and including the file name level.
旧版 Inno Setup 的先前答案,包括对问题的解释:
我认为 EXE 中没有任何 Fqbn
字段。 Fqbn
可能只是 AppLocker 从其他真实字段构造的字符串,包括 ProductName
字段。我也不认为这个问题与代码签名有任何关系。
此外,AppLocker 阻止的程序不是“自身的临时副本(=installer)”。它是一个完全不同的程序,是 Inno Setup 安装文件夹中 Setup.e32
的副本。它没有任何 ProductName
。 Inno Setup 不允许以任何方式自行定制该程序。尽管您应该能够根据需要使用适当的工具自行编辑文件,例如 Resource Hacker. See also .
如果您不想干扰 Inno Setup 安装,您可以通过“滥用”签名过程来修改 EXE。例如,请参阅 editbin
如何用作登录
的一部分
我正在为 C# 软件创建一个签名安装程序,该软件将 运行 在受 Windows AppLocker 保护的系统中。 AppLocker 规则仅允许在其 Fqbn
(完全限定的二进制名称)中具有产品名称 "MyAppName" 的软件自行安装。我购买了证书并使用 Inno Setup 的 signtool 功能对应用程序的 exe 和安装程序进行了签名,效果很好。安装程序和 exe 在其 Fqbn
.
但是!
安装时,安装程序会创建一个自身的临时副本,其 Fqbn
字段中不包含产品名称。不过,原始安装程序确实如此。出版商名称在所述字段中保持不变 ("O=My Company, L=My Town, S=My State, C=DE"
)。
关于如何解决这个问题有什么想法吗?如何获取安装程序临时副本中的产品名称?
更新
以下是 AppLocker 在客户 PC 上生成的事件日志。
这是安装程序临时副本的日志(已拒绝)。 Fqbn 中缺少产品名称(只有三个反斜杠):
这是软件二进制文件的日志(允许)。那里有产品名称以及二进制文件的名称:
升级到 Inno Setup 6.0.4,它会更新内部安装程序二进制文件的产品名称:
Windows AppLocker publisher conditions are now supported by Setup up to and including the file name level.
旧版 Inno Setup 的先前答案,包括对问题的解释:
我认为 EXE 中没有任何 Fqbn
字段。 Fqbn
可能只是 AppLocker 从其他真实字段构造的字符串,包括 ProductName
字段。我也不认为这个问题与代码签名有任何关系。
此外,AppLocker 阻止的程序不是“自身的临时副本(=installer)”。它是一个完全不同的程序,是 Inno Setup 安装文件夹中 Setup.e32
的副本。它没有任何 ProductName
。 Inno Setup 不允许以任何方式自行定制该程序。尽管您应该能够根据需要使用适当的工具自行编辑文件,例如 Resource Hacker. See also
如果您不想干扰 Inno Setup 安装,您可以通过“滥用”签名过程来修改 EXE。例如,请参阅 editbin
如何用作登录