■概要 |
sketch/ExHIBITは、ver.1.0x以前が2000上のVC++6.0で、ver.1.1x以降がVISTA上のVisualStudio2005で作成されています。VisualStudio2003以降、CのランタイムDLLが変更になったため、そのままでは古い環境で実行できなくなっています。
新しいランタイムを、実行環境にインストールしてしまえば簡単なのですが、ExHIBITでは既存環境をなるべく汚染しないというポリシーで作成されているため、MSVCR80/MSVCP80.DLLを共用アセンブリではなく、プライベートアセンブリとして読み込ませています。そのため、これらがインストールされていない環境に従来と同じ方法で単純に実行ファイルをコピーすると、dll/階層化にあるsc00.dllのロード時に、msvcr80.dllを見つけられず、ロードに失敗します。
|
|
■今までと同じ方法でアップデートしたらどうなるの? |
従来通り、ExHIBIT.exe, resident.dll, dll/sc00.dll を上書きすると、msvcr80.dll
および、msvcrp80.dllがシステムにインストールされている環境では問題なく動作しますが、それ以外では起動しません。
msvcr80.dllとmsvcp80.dllを、ExHIBIT.exeと同じフォルダにおいて実行すると、大抵「dll/sc00.dllがロードできません」と言われるはずです。これは、sc00.dllが、msvcr80.dllに依存しているにもかかわらず、dll/sc00.dllからはそれが見えないため発生しています。 |
|
■新旧のフォルダ構造(実行ファイル系のみ表示) |
具体的な違いは、ver.1.0x以前にあったmsvcrt.dllがなくなり、sc00.dllが、dllフォルダ以下から、ExHIBIT.exeと同じ階層に配置し直された点です。なお、ogg.dll/vorbis.dllも同様の環境でビルドし直されていますが、これらはCのランタイムに依存していないため、ほかの環境でビルドされたものでも同様に動作します。
下図の、赤は削除、マゼンタは移動、緑はリネーム、水色は編集が必要になります。
黄色は新バージョンをコピーするファイルです。
新しいExHIBITは、sketchフルセットの最新版(外部リンク)を展開してできるフォルダの、data/ExHIBIT/以下に格納されています。なお、ここに記載されていないファイルは、なにもしません。
|
ver.1.0x 概要 |
|
削除と移動後 |
|
新fileをcopyすると、1.11に。 |
|
ExHIBIT.iniの編集 |
game\
+- rld\
+- res\
+- ExHIBIT.exe
+- ExHIBIT.ini
+- resident.dll
+- *.system.dat
+- msvcrt.dll
+- ogg.dll
+- vorbis.dll
+- dll\
+- sc00.dll
+- user\
+- セーブデータ |
→ |
game\
+- rld\
+- res\
+- ExHIBIT.ini
+- userdata\
+- セーブデータ
+- *.system.dat |
→ |
game\
+- rld\
+- res\
+- ExHIBIT.ini
+- ogg.dll
+- vorbis.dll
+- ExHIBIT.exe
+- sc00.dll
+- resident.dll
+- Microsoft.VC80.CRT.manifest
+- msvcr80.dll
+- msvcp80.dll
+- acmp.exe
+- userdata\
+- config.rnf
+- セーブデータ
+- *.system.dat |
→ |
下記参照 |
|
■ExHIBIT.iniの編集について |
ExHIBIT.ini(ExHIBIT.exeと同じフォルダにあります)をテキストエディタで開いてください。 |
[release]セクション(大抵は一番上にあります)のscenario=dll\sc00.dllを、scenario=sc00.dllと修正してセーブしてください。 |
|
→ |
|
|
|
|
|
■より詳細なアップデート手順 |
retouch.infoの情報を参照してください。 |