【问题标题】:Random folders during MSI installationMSI 安装期间的随机文件夹
【发布时间】:2019-03-16 01:07:27
【问题描述】:

在安装使用 Installshield 2012 创建的 MSI 期间,是否有办法阻止或控制在 C:\User\\AppData\Local\Temp 中创建的“随机”/基于 GUID 的文件夹的位置和名称?

【问题讨论】:

  • 你为什么需要改变这个?我会说一个不应该触及的实现细节。除了 TEMP 文件夹之外,还有 some caching going on on the installation files
  • 您是从 setup.exe 运行的吗?
  • @SteinÅsmul,为什么?因为客户使用的安全工具需要被指示将每个可执行文件逐个列入白名单,而没有通配符功能来处理随机文件夹名称。安装程序.exe?不,使用 MSI(即 msiexec /i myinstaller.msi)。
  • 好的,我检查了一个虚拟机并给你写了一个简短的总结。
  • 现在听起来像是一个疯狂的工具 btw :-)。

标签: installshield guid windows-installer installshield-2012


【解决方案1】:

ISSetupFile:我相信您提到的文件夹用于保存作为支持文件添加到安装程序的文件 - 例如 license agreement filesconfig filesbitmaps 等。换句话说,不安装但在安装过程中使用的文件(例如在设置对话框中)。这是一个特殊的 Installshield 功能,这意味着您不必自己从 MSI 的二进制表中提取文件。相反,您将它们添加为 ISSetupFile 条目,它们最终会出现在最终编译的 MSI 中的自定义表中。在安装期间,它们由自定义操作 ISSetupFilesExtract 提取。 提取文件夹名称将是正在安装的 MSI 的产品 G​​UID(除非最近对此进行了更改 - 可能会有安全更新等)。您可以在 MSI 的属性表中找到此产品代码,使用 Orca or an equivalent tool(朝向底部)。

黑客:我想您可以尝试删除或禁用此表。鉴于 GUI 中使用了许多文件,安装程序可能仍会在无此表的情况下在静默模式下运行,但文件也可用于在静默模式下运行的自定义操作中。如果是这种情况,安装程序将在没有这些文件的情况下崩溃。你可以试试 zap 表或更好use a transform to disable it

Administrative Installation:相信你对administrative installations很熟悉吧?本质上是任何 MSI 的文件提取。也许这有助于白名单过程 - 但我想你已经把它记下来了。但是,这种方法对这些 GUID 文件夹没有帮助 - 除非您还禁用 ISSetupFile 条目。


链接

【讨论】:

  • 感谢您提供一些帮助。您是正确的,其中一些文件确实被提取到随机/GUID 文件夹名称,但已经存在一种使用 SUPPORTDIR 属性覆盖它并将其设置为已知位置的方法。但是,还有一组文件被提取到 C:\User\\AppData\Local\Temp\{GUID}\。该列表包括:IsConfig.ini、setup.inx、ISRT.dll、ISBEW64.exe、_isres_0x0409.dll、String1033.txt、_isuser_0x0409.dll、_isuser.dll、setup.exe。每次安装时 GUID 都会更改。这就是让我很难过的原因。
  • 这种行为在不同的 Installshield 版本中可能有所不同,因此我猜您需要检查 Installshield 支持 - 或 Installshield community user forums。您列出的文件似乎是 Installshield 运行时 (ISRT.dll)、编译形式的 Installscript 自定义操作 (setup.inx),以及各种字符串列表和其他资源。我想这不是太有用,但刚刚提到。当你直接运行 MSI 时,我很惊讶那些在那里,我认为只有 setup.exe 需要它们,但我一定是弄错了。
  • 我想脚本运行时和编译的 Installscript 将用于使用 Installscript 自定义操作的设置。如果您不使用脚本,这些文件可能不存在,但资源文件可能仍然存在。
猜你喜欢
  • 1970-01-01
  • 2018-12-29
  • 2010-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多