IExpressでフォルダ付きインストーラーを作る方法
以前も紹介したように Microsoft製のインストーラー作成ソフトに IEXPRESS というのがありますが、フォルダの階層を復元することができません。
できないなら後から作ってしまえばいいのではないかと考えて、試してみました。
Windows の Update インストーラーは
Update フォルダの中に 実行ファイルがある形式になっています。
例えば、
Update\Update.exe Update\Update.inf Update\spcustom.dll Update\updspapi.dll Update\Update.ver Install.cat data1.dll data2.dll |
のような構成になっています。
まず、Folderを作成して、 ファイルを移動するようなスクリプトファイル
Set objWShell=CreateObject("WScript.Shell") Set objFS=CreateObject("Scripting.FileSystemObject") If objFS.FolderExists("update")=False Then objFS.CreateFolder("update") End If objFS.MoveFile "update.exe","update\" objFS.MoveFile "update.inf","update\" objFS.MoveFile "update.ver","update\" objFS.MoveFile "spcustom.dll","update\" objFS.MoveFile "updspapi.dll","update\" objWShell.Run "update\update.exe /passive /norestart", 1, 1 objFS.DeleteFolder "update",1 Set objWShell=Nothing Set objFS=Nothing |
test.vbaを作成します。インストーラーの実行ファイル本体は赤字の部分です。
次に、test.cmdを作成して
@echo off test.vba |
のようなバッチファイルを作ります(直接 test.vbaが実行できないので)
インストールプログラムに test.cmdを手動で登録します。
ちなみに、test.batでは、MS-DOS拡張機能が使えないのでだめです。
バッチファイルが表示されないようにHiddenを選びます。
後は、Long File nameが格納されるようにオプションにチェックを入れればOKです。
関連記事:
色々な実行ファイルを解凍する方法
関連サイト:
自己解凍形式(.exe)を作成する方法を探しています。- 人力検索はてな
IEXPRESSの便利な点、不便な点 - Softgelsの開発公開日記
歌と楽譜と小東と 新UTAU音源超軽量化計画
Comments