インストーラーの進化



美しいパッケージの製品は販売が容易です。 プログラムは適切なインストーラーにありますか?



インストーラーがパッケージの類似物であることは事実ではありません。 むしろ、製品を箱から取り出して取り出すプロセスです 。 何度も「次へ」をクリックして、最後に「完了」をクリックします。リボンがきちんと解かれていません。 彼らは雲母を引き裂き、何気なく箱を開けました-「私たちの内側は何ですか?」



箱自体は特に価値があるわけではありません。 一部の製品については、特別に作成された予算パッケージ。 しかし、 プロセスが予測可能であることが重要です。 インストーラーが予測可能な場合、その外観と機能は重要ではありません。 しかし、何かが「間違っている」場合、またはユーザーが突然十分な標準オプションを持っていない場合、外観と機能の両方ですべての欠陥が発生します。



インストーラーが望むもの



たとえば、企業ユーザーの場合、プログラムをサイレントモードにする方法や、 コマンドラインスイッチがあるインストーラーを学ぶのは興味深いでしょう。 ここでは、標準のWindows msiインストーラファイルのサポートが非常に役立ちます。



インストーラーが複雑な質問をする場合、ユーザーが理解できる言語であることが重要です。 この言語をすぐに推測することも別の問題です。 オペレーティングシステムインターフェイスの言語が常に正しい選択とは限りません。 したがって、言語を選択する機会を提供することは、現代のインストーラーの不可欠な部分です。



以前、言語の選択を実装し、「実際の」msiを作成する方法についてはすでに説明しました。 さまざまな言語文化の伝統を理解し、厳しい企業要件を尊重することを学びました。 しかし、すべてが考慮されますか? 結局のところ、インストーラーではなく誰かがプログラムのポータブル版をすぐに手に入れたいと思っています。 そして、制限された権限を持つアカウントで作業しているユーザーは? 管理者を呼び出さずに多くのプログラムをインストールすることはできません。 そして、これは常に管理者の間違いではなく、多くの場合開発者の間違いです。



2つのインストーラー



インストーラーを起動した直後に、プログラムをインストールするだけでなく、インストールせずに起動することもできます。 このようなプログラムは、インストーラーを使用して設定ファイルとユーザーデータを1つのフォルダーに保存し、インストーラーとポータブルバージョンの両方として機能させることができます。 また、msiからプログラムを解凍するには、常に管理者用インストールを使用できます。この目的のためだけに作成されたことを知っている人はほとんどいません。 プログラムの最後で一時ファイルを削除することを忘れないでください。



このアプローチにより、サイト上の巨大な緑色のボタン「ダウンロード」の概念をやり直す必要がなくなります。 1つのファイルでプログラムをインストールしたい人、および1回だけ実行したい人、さらにUSBフラッシュドライブに入れて持ち運びたい人でも十分です。 特定の設定ファイルを操作し、特定のパスに沿ってユーザーデータを保存するようにプログラムに教えるのは簡単です。 レジストリに手を触れないことが重要です。他のプログラムと統合する場合は、相対パスのサポートを提供してください。 また、インストーラファイルが突然CDに表示されることを忘れないでください:-)。



制限付きアカウントの権利



ホームユーザー、および優れたシステム管理者を雇用している企業の従業員は、このような問題に遭遇しません。 ただし、開発者もです。 無制限の権限を持つコンピューターで作業する場合、制限された権限を持つユーザーのサポートを忘れることがよくあります。



実際、Windowsインストーラーにはプログラムをインストールする2つの方法があります-システムのすべてのユーザー(最も一般的な)と、インストーラーを起動した現在のユーザーのためです。 さらに、企業の世界では、現在のユーザーが「すべてのユーザー向け」モードでプログラムをインストールするのに十分な特権を持っていないことは珍しくありません。



両方のインストール方法をサポートし、問題なくWindows Vistaで実行されるインストーラーを作成するには(Windows 7ではいわゆる「シングルパッケージオーサリング」のサポートを追加しました)、開発者は特別なアクションを実行する必要があります。



つまり、「現在のユーザーの」インストールを開始する前に、いわゆる「Summary Information Stream」(msiファイルの不可欠な部分)の特別なプロパティ 「Word Count」の3番目のビットを「1」に設定して、インストーラーのmsiファイルにパッチを適用します。 これを行うには、 MsiSummaryInfoSetProperty ()関数を使用できます。 msiファイルがデジタル署名されている場合、「すべてのユーザー用」モードでインストールすると、「青い」UACウィンドウが表示されます。 「現在のユーザー用」モードでインストールした場合、UACのデジタル署名が損なわれているという事実は影響しないため、このアプローチは非常に効果的です。



上記のシャーマニックダンスをWindows Vistaのタンバリンで使用せず、msiのアセンブリ中に3番目のビットを単に「1」に設定した場合、システム管理者でさえ「全ユーザー向け」モードでそのようなmsi インストールできません :-) 逆に、3番目のビットが設定されていない場合、UACウィンドウが表示され、最悪の場合、管理者パスワードが必要です。



梱包方法



これらの機能を実装するには、インストーラーのexeファイルが必要です。 msiファイルは既にその中にパックされています。 ユーザーインターフェイスエンジンは、exeで作成し、インストール言語を「オンザフライ」で切り替えるだけでなく、msiインストールを開始する前でもオプションを選択できるようにすることも望ましいです。 既にインストールされているバージョンとアンインストールのサポートを正しく検出するために、Windowsインストーラーシステムとの相互作用を忘れないことが重要です。 法人顧客は、exeにパッケージ化されたmsiファイルと同じmsiファイルを受け取ります。現在のユーザーのポータブルモードまたはインストールのサポートは必要なく、言語はコマンドラインに表示されます。



このようなexe-installerを開発するには、ユーザーインターフェイスの開発経験、または適切な「フレームワーク」を使用する能力が必要です。 ただし、選択したツールに関係なく、WinAPIおよびWindows Installer APIの深い知識が必要になります。



そして試してみる



無料のAdvanced IP Scannerのベータ版は、 人間に新しい技術導入するための小さなテスト場であり、説明された機能のほとんどを実際に実装する新しいインストーラーを取得しました。 そして、インストールせずに起動し、言語、および内部のmsiファイルを変更します-すべてがそこにあります。 ダウンロード、視聴、学習することをお勧めします。 :-)



言語を選択し、ダイアログを表示し、ポータブルバージョンを起動するために、 Inno Setupを使用しました。 スタッフィング(msi)は、 WiXでもダイアログなしでのみ同じままでした。



ライブオールインワンインストーラーを敢えて見て、ベータテストに参加するすべての人は、次のことを行う必要があります。

  1. Advanced IP Scanner 2.3.226ベータ版をダウンロードします。
  2. 製品に精通してください。
  3. OSとの互換性を確認してください。
  4. ベータテストページの特別なフォームからバグレポートや改善提案を送ってください


各ベータテスターは、 Radmin 3の 永久ライセンスを受け取ります。



ご参加いただきありがとうございます。 開発者への質問やコメントは大歓迎です!



All Articles