ソフトウェアの複雑さとサイズが増大するにつれて、従来の完全なソフトウェア更新はますます時間がかかり、労力もかかります。ユーザー エクスペリエンスを向上させ、リソースの消費を削減するために、アップグレード パッチを作成することが一般的な更新戦略になっています。アップグレード パッチには、新バージョンと旧バージョンの違いのみが含まれています。ユーザーは、これらの違いをダウンロードしてインストールするだけで、ソフトウェアの更新が完了します。これにより、貴重な時間と帯域幅が節約されるだけでなく、ソフトウェアの更新がより効率的かつ便利になります。 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] セクションでは、アプリケーション名、バージョン番号、デフォルトのインストール ディレクトリを定義します。
いくつかの関数とイベント処理関数は、[Code] セクションで定義されています。 const は、古いバージョンのソフトウェアのインストール パスを取得するために使用される定数 OldVersionRegPath と OldVersionInstallLocationKey を宣言します。
CurStep が ssInstall の場合、現在のステップがインストール操作であることを示します。
注意: 実際の状況に応じて、次の部分を変更する必要があります。
必ず、Inno Setup コンパイラに新しいバージョンのファイルを追加し、.iss ファイルと同じディレクトリの NewFiles フォルダに配置してください。アップグレードすると、新しいバージョンのファイルが古いバージョンのインストール パスにコピーされ、対応するファイルが置き換えられます。 |
<<: なぜ 301 リダイレクトが必要なのでしょうか? URLを変更しても重量は減らないのですか?
>>: Inno Setup を使用して 64 ビット オペレーティング システム環境コードを検出する方法を教えてください。
WinZip for Android は、ユーザーがファイルを圧縮、解凍、管理するのに役立つ一連の機...
Process Lasso は、コンピュータ プロセスを管理および最適化するためのソフトウェアです。...
AI カラーマッチは、人工知能技術に基づいたカラーマッチング ソフトウェアであり、ユーザーが指定した...
📱Camera FV-5 は、Android プラットフォームでカメラの完全な手動制御を提供するプロ...
ActivePresenter は、ビデオ プレゼンテーション、教育コース、ソフトウェア デモンスト...
Office.Files.Images は、ドキュメント、スプレッドシート、プレゼンテーション、画像...
📱Edge ブラウザ アプリは、Microsoft がリリースした Chromium ベースのブラウ...
cPicture は、ユーザーがさまざまな画像ファイルを簡単に管理および閲覧できるようにする強力な画...
PDFelement は、豊富な機能と強力なパフォーマンスを備えたプロフェッショナルな PDF ファ...
WeChatマルチオープニングアンチ引き出しプラグインは、アンチ引き出しプラグインとマルチオープニン...
Appleが本日、macOS Big Sur 11.7の正式版をリリースしたことが判明した。macO...
Popcorn Time Desktop は、映画やテレビ番組を無料でオンラインでストリーミングでき...
「ウェブサイトのコンテンツを読んでいる人は誰もいないのでは?」というのはよく言われることですが、残...
ADB AppControl は、ユーザーが Android デバイス上のアプリケーションを管理およ...
Axialis IconWorkshop は、アイコンのデザイン、作成、編集に使用できるプロフェッシ...