Inno Setup を使用して 64 ビット オペレーティング システム環境コードを検出する方法を教えてください。

Inno Setup を使用して 64 ビット オペレーティング システム環境コードを検出する方法を教えてください。

現在、ますます多くのアプリケーション ソフトウェアが徐々に 64 ビット オペレーティング システムのみをサポートし、Windows 10 および 11 システムを優先するようになっています。Windows アプリケーションを開発する場合は、ユーザーの使用プラットフォームに注意する必要があります。 Inno Setup を使用してアプリケーションをパッケージ化する場合は、現在のシステム環境を検出する必要があります。現在の Windows 構成要件を満たしている場合はインストールが実行されます。そうでない場合は、ユーザーにシステムのアップグレードを求めるメッセージが表示され、インストールが中断されます。

以下に、柔軟に使用できる例をいくつか示します。

Inno Setup を使用して Windows 10 および 11 64 ビット環境コードを検出する

Inno Setup を使用して Windows 10 および 11 x64 環境を検出するコードを記述する場合は、次のスクリプトを使用できます。

 [設定]
AppName=あなたのアプリ名
アプリバージョン=1.0
デフォルトディレクトリ名={pf}\YourAppName

[コード]
関数 IsWin10OrAbove: ブール値;
始める
 結果:= (GetWindowsVersion >= $0A00);
終わり;

関数 IsWin11OrAbove: ブール値;
始める
 結果:= (GetWindowsVersion >= $0B00);
終わり;

関数 Is64BitWindows: ブール値;
始める
 結果 := IsWin64;
終わり;

関数 InitializeSetup: ブール値;
始める
 結果:= True;

  (IsWin10OrAboveまたはIsWin11OrAbove)でないか、Is64BitWindowsでない場合は
  始める
  MsgBox('現在のシステムは Windows 10 または 11 x64 環境ではないため、インストールを続行できません。', mbError, MB_OK);
  結果:=False;
  終わり;
終わり;

コードの説明:

GetWindowsVersion >= $0A00 は、Windows バージョンが Windows 10 以上であるかどうかを判断するために使用される条件式です。

この式では、GetWindowsVersion は、現在のシステムの Windows バージョン番号を表す関数または変数です。 $0A00 は、Windows 10 のバージョン番号を表す 16 進数です。

Windows のバージョン番号は 2 つの部分で構成されており、上位の桁はメジャー バージョン番号を表し、下位の桁はマイナー バージョン番号を表します。 Windows 10 の場合、メジャー バージョン番号は 10 なので、16 進数では 0x0A になります。マイナー バージョン番号は 0 で、2 つの 0 を追加できます。

したがって、$0A00 は Windows 10 のバージョン番号を表します。

GetWindowsVersion を $0A00 と比較することで、現在のシステムの Windows バージョンが Windows 10 以上かどうかを判断します。条件が満たされている場合は、現在のシステムが Windows 10 以上であることを意味し、条件が満たされていない場合は、現在のシステムのバージョンが Windows 10 未満であることを意味します。

Windows 11 の検出は上記と同じです。

その他

上記のスクリプトを .iss ファイルとして保存し、Inno Setup Compiler を使用してコンパイルしてください。このコードは、インストーラーを初期化するときに、現在のシステムが Windows 10 または 11 の x64 ビット環境であるかどうかを確認します。そうでない場合は、エラー プロンプト ボックスがポップアップ表示され、インストールが終了します。

注意: このコードを使用する前に、Inno Setup ツールとコンパイラが正しくインストールされ、システム環境変数に追加されていることを確認してください。

<<:  Inno Setup を使用してソフトウェアのインテリジェント アップグレード更新パッチを作成する方法を教えてください。

>>:  iframe タグの用途は何ですか?動作原理の詳細な分析

推薦する

メディア作成ツール (Win10 システムのアップグレードまたはインストール) v10.0.19041.572

メディア作成ツール ソフトウェアは、Windows 10 システムをアップグレードまたはインストール...

OFGB (Windows 11 システム アドウェアをオフにする) v0.4 中国語グリーン バージョン

2024 年 4 月 23 日、Microsoft は、ファイル エクスプローラー、スタート メニュ...

Glary Utilities (システム最適化ツール) Pro v6.22.0.26 多言語ポータブル版

Glary Utilities は、コンピューターのジャンク ファイルのクリーンアップ、システム エ...

CCleaner Android 版 (有料機能ロック解除) v25.03.0 b800010991 修正版

📱世界で最も人気のある PC および Mac クリーニング ソフトウェアのメーカーから、Androi...

パーフェクトデコード最新バージョン(パーフェクトデコードプレーヤー)v2025.02.28

Perfect Decoder Player は、Perfection が高解像度の映画やテレビの...

ESET エンドポイント アンチウイルス/セキュリティ v9.1.2071.0 中国語特別版

ESET Workstation Protection 最新バージョン ESET Endpoint ...

ThunderSoft ビデオから GIF へのコンバーター (ビデオから GIF) v5.5.0 ポータブル版

ThunderSoft Video to GIF Converter は、ビデオ ファイルを GIF...

Apple、新型MacBook ProとiMacに搭載するM3シリーズチップを発表

Apple は、アップデートされた iMac および MacBook Pro コンピューターに搭載さ...

SATAとは何ですか? SAS とは何ですか?それらの違いは何ですか?

SATA や SAS などのインターフェースにより、マザーボードは HDD や SSD とインター...

デスクトップ PC を構築する場合、高価なマザーボードは本当に適切な選択でしょうか?

一部のコンピューターのマザーボードの値段が CPU よりも高いのはなぜか、疑問に思ったことはありませ...

コンピューターのピクセルとは何ですか? また、どのように表現されますか?

画像がなければ、コミュニケーションは何も、ほとんど何もできないでしょう。写真のネガやプリントが電子記...

Microsoft .NET ランタイム (.NET7.0 ダウンロード) v7.0.20

Microsoft .NET Framework の最新バージョン (Microsoft NET ...

リソース チューナー (バイナリ リソース エディター) v2.24.0.480 多言語ポータブル版

Resource Tuner は、Windows PE ファイル内のリソースを簡単に変更、追加、削除...

Smart PC Optimizer (コンピュータ最適化マスター) Pro v9.4.0.7 中国語グリーン版

Smart PC Optimizer は、Windows システム専用の最適化ソフトウェアであり、コ...

Microsoft OneDrive (Microsoft クラウド ストレージ サービス) v25.020.0202.0001

Microsoft OneDrive は、ユーザーがファイルやフォルダーをクラウドに保存して同期し...