Inno setup 更改Inno安装清单

Inno setup 更改Inno安装清单,inno-setup,Inno Setup,使用Inno安装程序版本5.2.3。 我需要更新嵌入在我的setup.exe中的清单资源 我需要添加客户使用的兼容性测试程序所需的一些功能: <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <application> <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/> <

使用Inno安装程序版本5.2.3。 我需要更新嵌入在我的setup.exe中的清单资源

我需要添加客户使用的兼容性测试程序所需的一些功能:

  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
    </application>
  </compatibility>

我知道有一个
OutputManifestFile
键。但是是否有
InputManifestFile
或类似文件?

这些GUI表示“我的应用程序与这些版本的Windows完全兼容(并在其上测试)”。在Inno安装程序的旧版本上修补资源是在撒谎,您不应该这样做

相反,您应该升级到Inno的最新版本。它的清单中已经包含了这些guid,因为它确实已经在这些版本的Windows上进行了更新和测试


请注意,类似的规则也适用于您的应用程序:您不应该在应用程序清单中包含这些值,而不提交对这些版本的测试。

为什么不使用最新版本的inno Setup?@Slappy,较新的inno Setup是否支持此选项?是的,(从v.5.5.4中输出)。我明白您的观点(这是有效的)。然而,我希望Inno有一个选项来设置自定义清单,并且能够在清单结构中添加/编辑任何条目。。。只是说说而已。我最后用ResHack修补了
Setup.e32
SetupLdr.e32
。当我有更多时间时,我将升级Inno。在修补
Setup.e32
SetupLdr.e32
文件后,您是否验证了二进制输出?我想你会失望的。只需升级到最新版本。您当前使用的版本与最新版本完全兼容,因此您无需进行额外的迁移工作。我已修补了正确的文件,但现在我找到了原因。我在一个单独的目录中对那些*.e32二进制文件进行了更改,在那里我有一个Inno安装程序的镜像,当运行编译器时,那个小家伙从它的主程序文件文件夹中获取了这些文件。关于升级;预处理器成为Inno设置的一部分,因为版本5.4和ANSI版本甚至可以用于最新版本,所以您应该没有任何问题。@TLama,谢谢您的帮助:)@ZigiZ:是的,ISPP仍将在最新版本上工作,ANSI模式也是如此。只要确保你下载了正确的安装程序。(你不再需要ISPP的QSP了,虽然这不会有什么伤害。)升级Inno通常是无痛的,只需几分钟。(在极少数情况下,您必须对脚本进行微小更改,这些更改记录在更改日志中。)