gvim で R6034 Runtime Error が発生する

症状

gvim 起動時、あるいは 何かしらのプラグインを実行しようとすると「R6034 Runtime Error」が起きる。エラーダイアログを閉じると、問題なく処理は継続できる。
試してはいないが、Rubyでも同様な問題が生じている場合、下記の対処で直るかもしれない。    

対処

  1. gvimのマニュフェストを抽出する

    > "C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\mt.exe" -inputresource:c:\application\gvim.exe -out:gvim.manifest

    Microsoft (R) Manifest Tool version 5.2.3790.2076
    Copyright (c) Microsoft Corporation 2005.
    All rights reserved.
  2. python.exeのマニュフェストを抽出する。

    "C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\mt.exe" -inputresource:c:\Python27\python.exe -out:python.manifest

    Microsoft (R) Manifest Tool version 5.2.3790.2076
    Copyright (c) Microsoft Corporation 2005.
    All rights reserved.
  3. テキストエディタで(2)のpython.manifestを開き赤色の個所を、クリップボードにコピーする。

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
          <requestedPrivileges>
            <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
          </requestedPrivileges>
        </security>
      </trustInfo>
      <dependency>
        <dependentAssembly>
          <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
        </dependentAssembly>
      </dependency>
    </assembly>
  4. テキストエディタで(1)のgvim.manifestを開き青色の個所を削除し、コピーしておいた内容を貼り付ける。

    変更前
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
      <assemblyIdentity processorArchitecture="*" version="7.3.0.0" type="win32" name="Vim"></assemblyIdentity>
      <description>Vi Improved - A Text Editor</description>
      <dependency>
        <dependentAssembly>
          <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"></assemblyIdentity>
        </dependentAssembly>

      </dependency>
     
      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
          <requestedPrivileges>
            <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
          </requestedPrivileges>
        </security>
      </trustInfo>
     
      <asmv3:application>
        <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
          <dpiAware>true</dpiAware>
        </asmv3:windowsSettings>
      </asmv3:application>
    </assembly>


    変更
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
      <assemblyIdentity processorArchitecture="*" version="7.3.0.0" type="win32" name="Vim"></assemblyIdentity>
      <description>Vi Improved - A Text Editor</description>
      <dependency>
        <dependentAssembly>
          <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
      </dependency>
     
      <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
          <requestedPrivileges>
            <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
          </requestedPrivileges>
        </security>
      </trustInfo>
     
      <asmv3:application>
        <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
          <dpiAware>true</dpiAware>
        </asmv3:windowsSettings>
      </asmv3:application>
    </assembly>
  5. 新しいgvimのマニュフェストを埋め込む

    "C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\mt.exe" -manifest gvim.manifest -outputresource:gvim.exe
  6. おしまい

参考

Runtime Error with Vim Omnicompletion

コメント

このブログの人気の投稿

pip install mojimoji failed

python import win32com.client -> EOFError in gencache.py