c# - 安装后 LARGEADDRESSAWARE 关闭了吗?

标签 c# memory-management exe large-address-aware

我已使用 editbin/LARGEADDRESSAWARE 命令更改我的 .NET C# exe,以便它可以寻址 > 2 GB 的内存。这工作正常,我可以运行 dumpbin 命令来验证它是否已成功修改。

然后我继续创建一个包含此 exe 的 .msi 程序包。当我在 Windows 7 目标计算机上运行此 .msi 时,它会成功安装 exe。但是现在如果我在安装在目标机器上的同一个 exe 上运行 dumpbin 会显示它不再支持 > 2 GB 的内存。

这是什么原因造成的?是构建.msi的过程还是在目标机器上运行.msi?

最佳答案

无论这里出了什么问题,它肯定与您手动执行此操作有关。让构建系统为你做这件事。项目 + 属性,构建事件选项卡。将其粘贴到“构建后事件命令行”框中:

set pathsave=%path%
set path=$(devenvdir);$(devenvdir)..\..\vc\bin
editbin.exe /nologo /largeaddressaware "$(targetfilename)"
set path=%pathsave%

关于c# - 安装后 LARGEADDRESSAWARE 关闭了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18520273/

相关文章:

c# - c#中的[Parameter]属性是什么

c# - 在 ASP.Net 中从字节数组播放 AVI 文件

c++ - 如何创建非 POD 类型的连续内存池?

c++ - 是否可以为 fftw 使用共享内存?

c - 从 C 创建 exe 时出现问题

c# - Youtube API注释顺序不正确/网页无法正确加载youtube

c# - 更改已存在的 cookie 的 cookie 值

C 2D 字符串数组在其声明的函数之外导致段错误

python - 没有名为 pkg_resources.py2_warn pyinstaller 的模块

java - 如何用java打开exe文件