【问题标题】:Corflags.exe cf001 Could not open file for wiritingCorflags.exe cf001 无法打开文件进行写入
【发布时间】:2013-03-02 16:48:11
【问题描述】:
我正在尝试编辑 corflags 文件,以便可以在 64 位 pc 上运行 32 位应用程序,但每次我尝试使用 corflags.exe assembly /32bit+ 之类的东西编辑文件时,都会出现错误消息 cf001 could not open file for writing。
现在我尝试了很多不同的选择,例如:
- 以管理员模式运行;
- 使用搜索查找文件并检查只读未勾选
- 检查用户完全控制是否已勾选
- 试图将整个文件夹设置为非只读
在尝试整个文件夹时,它看起来好像已设置为只读,但随后我单击“确定”并重新右键单击整个文件夹,该框已填写(未勾选)这样做意味着文件夹的一部分是只读的,为什么它会重置为只读?
【问题讨论】:
标签:
64-bit
32bit-64bit
corflags
【解决方案1】:
我刚刚遇到了同样的问题并尝试了同样的事情。
从提升的(“以管理员身份运行”)Visual Studio Command Prompt 运行 cornflags。我对原始 .exe 的副本做了同样的事情,只是为了确保没有其他进程正在使用该程序。
【解决方案2】:
创建您打算使用 CorFlags 定位的文件的副本。
(例如“WcfServiceHost.exe”--creates-->“WcfServiceHost - Copy.exe”)
将原始文件重命名为其他名称:
(例如“WcfServiceHost.exe”->“WcfServiceHose_Original.exe”)
重命名以复制到原始文件名
(例如“WcfServiceHose - Copy.exe”-->“WcfServiceHost.exe”
出于我的目的,我创建了副本并命名它们来描述它们的配置:
例子:
WCFServiceHost_With32BitOn.exe
WCFServiceHost_With32BitOff.exe
现在我可以销毁 WCFServiceHost.exe 文件并从这些预先修改的副本创建它们。不再需要 CorFlags 操作。
注意:这基本上是@RMalke 答案的更详细版本,该答案应标记为答案。
【解决方案3】:
我意识到这是几年后的事了,但对于其他人来说,我发现最快的方法是将cmd 和corflags.exe 复制到与您要编辑的文件夹相同的文件夹中。然后从那里以管理员身份运行cmd。