ソフトウェアの複雑さとサイズが増大するにつれて、従来の完全なソフトウェア更新はますます時間がかかり、労力もかかります。ユーザー エクスペリエンスを向上させ、リソースの消費を削減するために、アップグレード パッチを作成することが一般的な更新戦略になっています。アップグレード パッチには、新バージョンと旧バージョンの違いのみが含まれています。ユーザーは、これらの違いをダウンロードしてインストールするだけで、ソフトウェアの更新が完了します。これにより、貴重な時間と帯域幅が節約されるだけでなく、ソフトウェアの更新がより効率的かつ便利になります。 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 ビット オペレーティング システム環境コードを検出する方法を教えてください。
Geometry Sketchpad は、教師や学生が幾何学図形を描いて学習するのに適した数学ツー...
📱LSPatch は、LSPosed コアに基づく無料の非ルート Xposed フレームワークで、...
2023年8月28日、OpenAIは職場のアプリケーション向けにカスタマイズされたエンタープライズ...
リモート デスクトップ (MSTSC) 接続を使用してリモート コンピューターとの間でコンテンツとデ...
MouseInc2Inc は、マウスの精度と正確性を向上させるソフトウェアです。手の不安定さや震え...
MiniTool Partition Wizard は、Windows やサーバー バージョンを含む...
世界で人工知能がますます発展するにつれて、私たちが日常生活でそれを活用できる方法も増えていきます。 ...
WinMute は、特定のイベントが発生したときにコンピューターを自動的にミュートするように設計され...
IsMyLcdOK は、LCD モニターに不良ピクセル (デッド ピクセルやスタック ピクセルなど)...
BatchEncoder は、あるオーディオ形式から別の形式に変換できる無料のオーディオ コンバータ...
Advanced Renamer は、ファイルの名前を一括変更するための強力なツールです。ソフトウェ...
USB 修復は、USB デバイスのエラー、損傷、ウイルス、その他の問題を検出して修復するのに役立つ実...
AquaSoft Stages は、高品質のスライドショー、アニメーション、ビデオ クリップを作成で...
Solid Converter は、PDF ドキュメントを編集可能な Microsoft Word、...
Yunmeng Windows 10 アクティベーション ツールは、Github 上の CShar...