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

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

ソフトウェアの複雑さとサイズが増大するにつれて、従来の完全なソフトウェア更新はますます時間がかかり、労力もかかります。ユーザー エクスペリエンスを向上させ、リソースの消費を削減するために、アップグレード パッチを作成することが一般的な更新戦略になっています。アップグレード パッチには、新バージョンと旧バージョンの違いのみが含まれています。ユーザーは、これらの違いをダウンロードしてインストールするだけで、ソフトウェアの更新が完了します。これにより、貴重な時間と帯域幅が節約されるだけでなく、ソフトウェアの更新がより効率的かつ便利になります。

Inno Setup を使用してソフトウェアのインテリジェント アップグレード パッチを作成する方法

Inno Setup を使用してアップグレード パッチを作成する場合、次のコード例を使用して、古いバージョンのインストール パスを取得し、更新インストール用の新しいリソースをパッケージ化できます。

上記のスクリプトを .iss ファイルとして保存し、Inno Setup Compiler を使用してコンパイルしてください。このコードは、インストーラーが ssInstall ステップまで実行されたときに古いバージョンのインストール パスを取得し、新しいバージョンのファイルを古いバージョンのインストール パスにコピーして更新します。

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

[コード]
定数
 OldVersionRegPath = 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppId")}_is1';
 OldVersionInstallLocationKey = 'インストール場所';

関数 GetOldVersionInstallPath: 文字列;
var
 RegValue: 文字列;
始める
  RegQueryStringValue(HKLM、OldVersionRegPath、OldVersionInstallLocationKey、RegValue)でない場合は
  RegQueryStringValue(HKCU、OldVersionRegPath、OldVersionInstallLocationKey、RegValue);

 結果 := RegValue;
終わり;

手順 CurStepChanged(CurStep: TSetupStep);
var
 OldInstallPath: 文字列;
始める
  CurStep = ssInstallの場合
  始める
  古いインストールパス:= GetOldVersionInstallPath;

   DirExists(OldInstallPath)の場合
   始める
    // 新しいファイルをコピーして古いバージョンを置き換えます
   FileCopy('NewFiles\*', OldInstallPath, False, True);
   終わり;
  終わり;
終わり;

サンプルコード分析の更新

このコードは、ソフトウェアのインストールと更新に使用される Inno Setup スクリプトです。

まず、[Setup] セクションでは、アプリケーション名、バージョン番号、デフォルトのインストール ディレクトリを定義します。

  • AppName は、アプリケーションの名前を「YourAppName」として定義します。
  • AppVersion はアプリケーションのバージョン番号を「2.0」と定義します。
  • DefaultDirName は、デフォルトのインストール ディレクトリを "{pf}\YourAppName" として定義します。ここで、"{pf}" はシステムの Program Files ディレクトリを表します。

いくつかの関数とイベント処理関数は、[Code] セクションで定義されています。

const は、古いバージョンのソフトウェアのインストール パスを取得するために使用される定数 OldVersionRegPath と OldVersionInstallLocationKey を宣言します。

  • GetOldVersionInstallPath 関数は、レジストリを照会してソフトウェアの古いバージョンのインストール パスを取得するために使用されます。
  • CurStepChanged は、インストール プロセスの各ステップが変更されたときにトリガーされるイベント ハンドラーです。

CurStep が ssInstall の場合、現在のステップがインストール操作であることを示します。

  • このイベント処理関数では、まず GetOldVersionInstallPath 関数を呼び出して、ソフトウェアの古いバージョンのインストール パスを取得します。
  • 次に、古いバージョンのソフトウェアのインストール パスが存在するかどうかを確認します。存在する場合は、ファイルのコピー操作を実行して、新しいバージョンのファイルを古いバージョンのソフトウェアのインストール パスにコピーします。

注意: 実際の状況に応じて、次の部分を変更する必要があります。

  • AppName: アプリケーションの名前。
  • AppVersion: アプリケーションの新しいバージョン番号。
  • OldVersionRegPath: 古いバージョンのレジストリ パス。
  • OldVersionInstallLocationKey: 古いバージョンのインストール パスのレジストリ キー名。
  • NewFiles\*: 新しいバージョンのファイルが配置されているディレクトリ (.iss ファイルを基準とした相対ディレクトリ)。

必ず、Inno Setup コンパイラに新しいバージョンのファイルを追加し、.iss ファイルと同じディレクトリの NewFiles フォルダに配置してください。アップグレードすると、新しいバージョンのファイルが古いバージョンのインストール パスにコピーされ、対応するファイルが置き換えられます。

<<:  なぜ 301 リダイレクトが必要なのでしょうか? URLを変更しても重量は減らないのですか?

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

推薦する

IObit Smart Defrag (ディスクデフラグ) Pro v10.3.0.435 多言語ポータブル版

IObit Smart Defrag は、システムのディスクを自動的かつタイムリーにデフラグし、ディ...

Adobe.マスター.コレクション 2024 v9

Adobe Master Collection 2024 は、Adobe の最も先進的で人気のある...

Glary Utilities (システム最適化ソフトウェア) Pro v5.212.0.241 多言語ポータブル版

Glary Utilities は、システムのジャンク ファイルのクリーンアップ、ソフトウェアの管理...

Zebra Video APP (ビデオ再生ソフトウェア) v5.6.5 VIP クラック版

📱Zebra Video APP は優れたオンライン ビデオ再生ソフトウェアです。ソフトウェア紹介1...

中古のマイニング グラフィック カードは現在市場で非常に安価です。購入を検討してみませんか?

暗号通貨が成長するにつれ、GPU マイニング事業は停止し、最も価値のある資産であるデスクトップ GP...

論文/レポート/契約書/文書の無料AI読み取り、ワンクリックでのインテリジェントな要約/書き直し/翻訳 - Baoyue AI

記事の要点をすぐに把握したいですか? Baoyue AIをお試しください!この魔法のツールは、テキス...

Bigasoft Audio Converter (オーディオ変換ソフトウェア) v5.8.1.9133 多言語ポータブル版

Bigasoft Audio Converter は強力なオーディオ変換ソフトウェアです。ユーザーは...

Windows 11 で Android サブシステムを実行するためのいくつかの重要な要件

Microsoft は、Windows 11 のリリース時に Android 機能のサポートを約束し...

Adobe Photoshop 2025 (PS2025 クラック版) v26.4.1.194 直接インストール クラック版

Photoshop 2025 は、ユーザーが画像を編集、調整、修復、合成、デザインできるようにする多...

Winxvideo AI(AIビデオ編集ツール)v3.0中国語直接インストール版

Winxvideo AI は、人工知能技術に基づいたビデオ編集ツールであり、ユーザーが優れたビデオ ...

市場に出回っている SSD ハード ドライブの種類とカテゴリを詳しく解説しているので、初心者でもすぐに理解できます。

SSD が機械式ハードドライブよりも高速であることは誰もが知っていますが、どちらにアップグレードす...

Biniware Run (アプリケーション クイック スタート ツール) v7.4.0.0 中国語グリーン版

Biniware Run は、頻繁に使用するアプリケーション、ファイル、フォルダー、Web サイトを...

Ghost Downloader(多機能ダウンロード管理ツール)v3.5.3 中国語グリーンバージョン

Ghost Downloader は、高速で安定した使いやすいダウンロード体験をユーザーに提供するた...

PC を組み立てる前に知っておくべき 10 個のマザーボード仕様と用語

初めてコンピューターのマザーボードを購入するときは、仕様や用語がわかりにくいように思えるかもしれませ...