インストーラー作成のソフトウェアと言えば、InstallShield、インストールシールドですね。
日本では株式会社ネットワールドが販売代理店になっています。
これ以外の商用ソフトウェアは、ほぼ聞いたことがありません。
このインストールシールドなんですが、何度使ってみても複雑で、やりたいことができないことがあります。
そこで、InstallShieldの代替として、フリーでもそこそこ使えるInno Setupを使ってみました。
目次
InstallShieldで作ったインストーラーでインストール先を変更するとデフォルトインストール先フォルダも表示から消える
これまで仕事で何度もInstallShieldを使ってインストーラーを作っていました。
InstallShieldは、インストーラー作成のデファクトスタンダードで、Visual StudioにもLimited Editionという形でバンドルされています(Visual Studio LEとか言われています)。
ただ、このInstallShieldですが、やりたことがうまくできないです。
単に、私のInstallshieldのスキルがないだけでしょうか。
例えば、インストーラー作成の要件として以下の要件があったとします。
1. インストーラーでデフォルトインストールディレクトリをC:\My Programというフォルダにしたい。
2. ただし、ユーザーにインストールフォルダの変更を許可し、ユーザーがインストール先を変更した場合、どのドライブ、フォルダを選択しても、My Programをデフォルトインストール先として表示させたい。
これは、デフォルト表示のみでユーザーが変更することは可能とする。
要件1は問題ありません。
この要件2をInstallShieldでどうやって実装するのかいろいろと調べてみましたが、結果として、簡単ではないようです。
たとえば、InstallShieldを使っているであろう、Apacheのインストール の途中で、インストール先を変更した時の動きは以下の通りです。
インストールの途中で「Change」を押します。
デフォルトのインストール先が表示されています。
ユーザーが、C:\を選択したら、途端に
インストールフォルダ(この場合、Apache2.2)が消えてしまいます。
これは不便だと思います。
下手をするとCドライブ直下にインストールされてしまいます。
あるべき姿は、
デフォルトのインストールフォルダは常に表示させて、変更しようと思えば変更することも可能。
とするべきだと思います。
いろいろと、InstallShieldを調べてみたのですが、
InstallScriptのプロジェクトでも、SdAskDestPath2という関数から呼び出されるSelectDirExという関数から、Windows APIであるSHBrowserForFolderが呼び出されているようです。
SHBrowserForFolderはAPIなので、 これを呼び出す側のGUIで制御が必要です。
というわけで、結論として、要件2を満たすことは難しいとわかりました。
そこで、InstallShieldの代替ソフトウェアとしてInno Setupを使ってみました。
Inno Setupで作成したインストーラーではインストール先を変更してもデフォルトインストール先フォルダは表示から消えない
Inno Setup
は無料のWindows向けインストーラー作成プログラムです。
Inno Setupは、Jordan Russellによって開発されたフリーソフトウェアのスクリプト駆動型のWindows用インストールシステム。最初のバージョンは、1997年にリリースされた。
(Wikipedia)
公式サイトに書かれている通り、Inno Setupは、1997年にリリース以来、現在は、商用のインストーラーのライバルであり、機能と安定性の点で凌駕してさえいます。
著名なソフトウェアではサクラエディターがInno Setupを使っています。
Inno Setupをインストールしてみました。
インストール手順は以下の通りです。
を開きます。
「Random site」を押してインストーラーをダウンロードします。
インストーラーを起動します。
「日本語」を選択して「OK」を押します。
「Inno Setup セットアップウィザード」が開いたら、「次へ」を押します。
「同意する」にチェックして「次へ」を押します。
「参照」を押して、インストール先を変更します。
Inno Setup自身のインストーラーもおそらくInno Setupで作られているようです。
インストールドライブやフォルダを変更しても、デフォルトインストール先として「Inno Setup 5」が表示されています。
インストール先を、C:\Users\(ユーザー名)\Inno Setup 5 に変更します。
「次へ」を押します。
「次へ」を押します。
「次へ」を押します。
「次へ」を押します。
「インストール」を押します。
Inno Setupのインストールが終了したので、「完了」を押します。
「Cancel」を押します。
Inno Setupですが、日本語のインストーラーを作成することはできるのですが、メニューは日本語化されていないようです。
インストーラーの作成方法は、次章で説明します。
Inno Setupで日本語インストーラー作成
次のようなプロジェクトを作ります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
[Setup] AppName=My Program AppVersion=1.5 DefaultDirName=C:\My Program DefaultGroupName=My Program UninstallDisplayIcon={app}\MyProg.exe Compression=lzma2 SolidCompression=yes OutputDir=userdocs:Inno Setup Examples Output [Files] Source: "MyProg.exe"; DestDir: "{app}" Source: "MyProg.chm"; DestDir: "{app}" Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme [Icons] Name: "{group}\My Program"; Filename: "{app}\MyProg.exe" [Languages] Name: japanese; MessagesFile: compiler:Languages\Japanese.isl |
その後「Build」を押して、「Run」を押します。
日本語インストーラーが無事に作成されました。
Inno Setupは簡単で便利で無料。InstallShieldよりもいいかも。
InstallShield インストールシールドのおすすめ本
↓InstallShield、インストールシールドのおすすめの本はコチラ
InstallShield
コメント
[…] Windowsでインストーラー作成にフリーの日本語対応 Inno Setupの使い方。Install… […]