【问题标题】:How can I force an ANYCPU .net app to run as 32 or 64 bit?如何强制 ANYCPU .net 应用程序以 32 位或 64 位运行?
【发布时间】:2012-04-25 21:08:09
【问题描述】:

我有一个 Office 插件。当需要在 HKLM 中设置许可证密钥时,它会使用 runas=admin 启动应用程序。最高到 Office 2007 Office 是 32 位的。但是,Office 2010 提供 32 位或 64 位版本。该版本确定 HKLM 密钥是否在 WoW 或笔记中。

因此,我需要以与 Office(和我的插件)匹配的位数启动应用程序。我该怎么做?

或者,在 64 位模式下运行时如何访问 WoW 注册表和在 WoW 中运行时如何访问 64 位(常规)注册表?

我使用的是 .NET 3.5。

谢谢 - 戴夫

【问题讨论】:

    标签: .net registry processstartinfo


    【解决方案1】:

    您可以使用CorFlags修改.exe:

    CorFlags.exe MyAssembly.exe /32Bit+
    

    将强制 32 位,并且:

    CorFlags.exe MyAssembly.exe /32Bit-
    

    将再次关闭它。 this blog post 有一些替代方案。

    【讨论】:

      【解决方案2】:

      您需要分别编译两个不同的 exe。您不能事先强制执行 exe 的位数。

      【讨论】:

      • 不幸的是不是我想要的答案:(
      猜你喜欢
      • 1970-01-01
      • 2010-11-07
      • 2012-06-12
      • 2011-09-25
      • 1970-01-01
      • 2013-01-19
      • 2011-09-10
      • 2020-03-20
      • 2012-08-04
      相关资源
      最近更新 更多