スキップしてメイン コンテンツに移動

投稿

2025の投稿を表示しています

Windowsが64bitになってもSystem32のフォルダを使う理由

64bitのWindowsでもシステムの主要な部品がC:\Windows\System32に入っています。フォルダ名の通り、元は32bitが由来のフォルダですがそのまま使われています。 Microsoftが過去資産を活かすための工夫ですが、整理してみます。 互換性を維持するため Windowsの32bit時代(Windows NT以降)から、システムの主要なライブラリや実行ファイルはC:\Windows\System32に格納されるようになりました。64bit版のWindowsでも、後方互換性を保つためにSystem32という名前を維持しています。 64bit版のバイナリがSystem32に格納される 64bit Windowsでは、64bitのシステムファイルがSystem32に格納され、32bitのシステムファイルはSysWOW64に格納されます。 逆のように見えますが、WOW64(Windows on Windows 64)という仕組みで32bitアプリを動作させるために、SysWOW64に32bit用のDLLや実行ファイルが収められています。 もしSystem64にしたらどうなるか もし64bit環境でSystem64という新たなフォルダを作成し、64bit用のシステムファイルをそこに配置していたら、従来のソフトウェア(特にハードコードされたパスを参照するもの)が正しく動作しない可能性があります。 そのため、System32という名前を維持したまま、内容を64bit用に置き換えています。 まとめ System32には64bit環境では64bitのシステムファイルが入っている SysWOW64には32bitのシステムファイルが入っている 名前の矛盾は互換性のための設計上の選択 これがWindowsの互換性を支えている重要な仕組みのひとつです。

PCゲームやソフトがDLLを読み込む場所と順番

PCゲームやソフトを必要なDLLが無くて動かないときに「DLLが見つかりません」のメッセージが出たりします。 ランタイムパッケージを入れたり、DLLを準備したときにどのようにDLLが検索されているか重要です。 DLLを読み込む場所と順番 アプリケーションの実行ディレクトリ システムディレクトリ(例:C:\Windows\System32やC:\Windows\SysWOW64) Windowsディレクトリ(例:C:\Windows) カレントディレクトリ 環境変数PATHに含まれるディレクトリ この検索順序の特性で先に読ませたいDLLをロードさせることも可能です。 64bit環境で32bitアプリを動かす時 64bit環境のOSではシステムディレクトリ(C:\Windows\System32)は64bitのDLLが入っているため、32bitアプリではSystem32のDLLは利用されません。 SysWOW64の仕組みで32bitのDLLが用意されているC:\Windows\SysWOW64のディレクトリが利用されます。

PCゲームやソフトが動かない時のVisual C++ランタイム確認と対処方法

Windows PCのゲームやソフトが動かないときに確認したいのがVisual C++ランタイムです。 「DLLが見つかりません」「Visual C++のランタイムを入れてください」といったメッセージが出るときは、必要なランタイムが入っていません。 Visual C++ランタイムがどういうものか、確認方法、ダウンロード方法などを整理してみます。 Visual C++ランタイムとは Microsoftが提供するライブラリで、Windows上で Visual C++で開発されたアプリケーションを実行するために必要なコンポーネントです。 多くのアプリケーション(ゲーム、オフィスソフト、ユーティリティなど)はVisual C++を使用して開発されている場合が多いです。 アプリに必要なランタイムを組み込んでいない場合、ユーザー側でインストールする必要があります。 複数のランタイムをどの順番で入れても問題ない 正式な再頒布パッケージでインストールする場合、複数のランタイムは適切に管理されます。順番を問わず、ランタイムを入れてもDLLのダウングレードや削除がされないようになっています。 ランタイムのx86とx64は使うアプリに合わせる x86のパッケージは32bitアプリ向け、x64のパッケージは64bitアプリ向けに必要なものです。32bitアプリを使う場合は64bit環境でもx86パッケージを入れます。 ランタイムのパッケージ 正式な再頒布可能パッケージ Microsoft Visual C++ 2015-2022 Redistributable Visual C++ 2015、2017、2019、2022のいずれかで開発されたアプリ向けのランタイムパッケージです。複数のランタイムが統合された1つのパッケージになっています。 Microsoft Visual C++ 2013 Redistributable Microsoft Visual C++ 2012 Redistributable Microsoft Visual C++ 2010 Redistributable Microsoft Visual C++ 2008 Redistributable Microsoft Visual C++ 2005 Redistributable Visual C++ 2005から20...

VMwareでvmemファイルの作成を止める方法

VMware Workstationなどで仮想マシンを動かすと設定したメモリ容量と同容量のvmemファイルが作成されます。vmemファイルは稼働中のメモリのバックアップやサスペンド時のメモリ退避をするためのファイルです。 ホストマシンのストレージの空きが少ないときは作成を止めたいので設定をして対処します。 対処方法 1. 仮想マシンが入っているフォルダを開きます。 2. 仮想マシン名.vmxファイルをメモ帳やテキストエディタで開きます。 3. 以下の行を加えます。(既に入っている場合は値を書き換える) mainMem.useNamedFile = "FALSE" 4. 仮想マシン名.vmxファイルを保存します。 対処後 vmemファイルは作成されなくなります。

DirectX 9.0c ランタイムのダウンロードとインストール方法

Windows10やWindows11でWindowsXPや95/98時代のゲームを遊ぶとき、その時代のDirectXランタイムであるDirectX 9.0cが必要な場合があります。 2025年現在もマイクロソフトから公式配布されています。ダウンロードして保管しておきましょう。 ダウンロード方法 1. 下のダウンロードページにアクセス。ページの言語が変わるだけでダウンロードできるファイルはどちらも変わりません。 日本語ダウンロードページ ダウンロードセンター DirectX End-User Runtimes (June 2010) 英語ダウンロードページ Download Center DirectX End-User Runtimes (June 2010) 直接リンク https://download.microsoft.com/download/8/4/A/84A35BF1-DAFE-4AE8-82AF-AD2AE20B6B14/directx_Jun2010_redist.exe 2. ページにある「ダウンロード」をクリック。 3. directx_Jun2010_redist.exeがダウンロードされます。 現在ダウンロードできるファイル 2025/1/18現在のファイル内容です。 バージョン: 9.29.1974.1 公開日: 2021/2/20 ファイル名: directx_Jun2010_redist.exe ファイルサイズ: 95.6 MB (100,275,120 byte) インストール方法 1. セットアップファイルの展開先が必要なので、適当な場所に新規のフォルダを作成しておきます。 2. directx_Jun2010_redist.exeをダブルクリックして実行。 3. ライセンス確認が出たら「Yes」をクリック。 4. フォルダの選択が出たら「Browse」をクリックして、作成したフォルダを選択して「OK」をクリック。 5. 作成したフォルダに沢山のファイルが展開されるのを待ちます。 6. 完了したら、作成したフォルダの中にあるDXSETUP.exeをダブルクリックして実行。 7. 画面の指示に従ってインストール。

Windows11 24H2から23H2にダウングレードする方法

Windows11 23H2のパソコンをWindows11 24H2にアップグレードしたあとに、23H2に戻す(ダウングレードする)方法です。 復元するには前提条件があるので確認してから対応してください。 前提条件 アップグレードしてから10日以内 Cドライブに「Windows.old」フォルダがある 対応方法 1. Windowsの「設定」を開きます。 2. 設定画面の左側の一覧から「システム」を開きます。 3. 右側の一覧でスクロールして「回復」をクリック。 4. 「回復オプション」の「復元」にある「戻す」をクリック。 5. 「以前のビルドに戻す」ウインドウが出るまで待ちます。 6. 「フィードバックを共有してください」と表示されたら、「次へ」をクリック。 7. 「アップデートをチェックしますか?」と表示されたら、「行わない」をクリック。 8. 「知っておくべきこと」と表示されたら、内容を確認して「次へ」をクリック。 9. 「ロックアウトされないようにご注意ください」と表示されたら、内容を確認して「次へ」をクリック。 10. 「このビルドをお試しいただきありがとうございます」と表示されたら、「以前のビルドに戻す」をクリック。 11. 復元が始まるので待ちます。(1時間程度) 12. ログイン画面になったらログインします。 対応後 復元が問題なく完了していればWindows11 23H2に戻っています。

Windows11 24H2のアップグレードを止める方法

Windows11 24H2がリリースされていますが、不具合のニュースが多いのでアップグレードは躊躇してしまいます。2025/1/17から強制アップデートが始まっていて自動的にアップグレードがされてしまいます。 準備できたタイミングでアップグレードしたいので、Windows11 24H2に上がらないように設定します。 対処方法 OSのバージョンがWindows11 23H2固定になるようにレジストリで設定を変更します。 レジストリの設定 1. レジストリエディタを起動します。 2. HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windowsを開きます。 3.「Windows」の下に「WindowsUpdate」が無い場合は「Windows」のところで右クリックして「新規」→「キー」をクリックし、「新しいキー #1」が表示されたら「WindowsUpdate」に名前変更します。 4. 「WindowsUpdate」のところを開きます。 5. 右側のところで右クリックして「新規」→「DWORD(32ビット)」をクリックし、「TargetReleaseVersion」という名前で作ります。ダブルクリックし、値を「1」にして「OK」をクリックします。 6. 右側のところで右クリックして「新規」→「文字列値」をクリックし、「TargetReleaseVersionInfo」という名前で作ります。ダブルクリックし、値を「23H2」にして「OK」をクリックします。 7. 右側のところで右クリックして「新規」→「文字列値」をクリックし、「ProductVersion」という名前で作ります。ダブルクリックし、値を「Windows 11」にして「OK」をクリックします。 8. 「WindowsUpdate」の中に3つの設定値が登録できたら、レジストリエディタを終了します。 9. 再起動します。 対処後 Windows11 23H2に固定化されます。もし24H2にアップグレードするときは作成した設定を削除してください。