
route127の日記: 16bitインストーラ他 3
肉味噌タレのコメントに書いたやつの自分用まとめ。
Win95版の東鳩がWin10でインストール可能という話は、インストーラが32bitな初期版に限るようだ。
スクリーンショットに"INST.EXE"の文字列が見えるがこれが32bitのインストーラなのか。
リニューアルパッケージ版はインストーラが16bitなのでインストールに失敗する由。
ホワルバの16bitインストーラは"SETUP.EXE"らしい。
16bitインストーラはInstallShieldなのか?
これもInstallShield 3を32bitに置換して、待機チェーンの問題を解決すればなんとかなりはするらしい。
というかInstallShieldは元々MSとは別会社だったんだな。知らなかった。
考えてみればインストーラ作った事ないし、使う側でもフリーソフトとかでも選べるならmsi形式よりzip形式を選びがちだ。
窓の杜見るとインストーラ作成ソフトもあるな。
https://forest.watch.impress.co.jp/library/software/kantaninst/
https://forest.watch.impress.co.jp/library/software/innosetup/
vectorだとインストーラのカテゴリがある。
東鳩スレに同人格ゲーQOH99への言及もあったがこちらはインストーラというよりはDirectX周りの話か?
regsvrコマンドでIndeo5 Codec有効化したらDxWnd2を利用してフルスクリーンモードを強制的にウィンドウモードにするか、互換性ツールWindowsADK利用するとかで一応動くようにはなるらしい。
また、BGMがリピートしなくなる問題はmciSendString関連だろうか。
WinMMWRPでもwin8.1とかwin10でwinmm.dllの機能が遅くなったみたいなことが書いてある。
ループ再生の問題はVista以降顕在化して、界隈だと_inmm.dllの使用例を見かける。
これはコーエーのゲームに適用された例もあるようだ。
Win10以降でCopyFileが失敗するとかもあったし、OSのver.間のAPI差異とかどうすればいいのか。
16bitインストーラの問題は以前BMLのWeb実装スレで話題に上ったwinevdmとかも使えるんだろうか。
MS-DOS Player for Win32-x64というものもあるようだ。
ループ不可は潜在バグだったのかも (スコア:1)
InstallShieldは今も昔もMSとは別会社ですよ。
VisualStudioに機能限定版が同梱されたりとか、16bitコード回避用の専用exeをWindowsに同梱したりしてますし、msiを生成できたりしますが。
セットアップの16bitコード回避用の1つはVB製セットアップツールの起動用もあるはずです。
パソコンをクリックしないといけないのが解り難い奴。
実はVBで作れるセットアップ(SETUP1.EXE)もVBアプリで2バイト文字の扱いミスがあったので、
セットアップのコードを修正しておかないとテンポラリフォルダのパスに2バイト文字があるとコケます。
Win2kとかで日本語ユーザー作ってる人がハマったはず。
これも古いソフトを動かす為のノウハウになるかな?
ループ不具合ですが、古い奴はMCIのハンドルをスレッド間で使いまわししちゃってアクセス拒否喰らってる可能性も。
20年ぐらい前ですが、2kかXPでKanon/AIRはフェードアウト処理が別threadでコケた記憶。
フェード無効にするか、_inmm.dllを挟むとハンドル使いまわししてても平気になったような。
そういえば (スコア:0)
64bit版Windowsが出るまでは、16bitのコードが最も可搬性が高いとされていましたね。16bitコードはAlpha/MIPS/PowerPC版Windows NTでもWOW32で動いたけど、32bit(x86)コードはx86版Windows NTとWin9xでしか動かなかったから。InstallShieldが長い間16bitだったのもその関係でしょう(インストーラーはエラーメッセージを出すためだけでもとにかくできるだけいろいろな環境で動く必要がある)
当時のゲームは (スコア:0)
インストーラーだけ16bitとか、環境設定のためのコンフィグレーターだけ16bitとかありましたね。