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が実行できないので)

iexp1
インストールプログラムに test.cmdを手動で登録します。
ちなみに、test.batでは、MS-DOS拡張機能が使えないのでだめです。

iexp2
バッチファイルが表示されないようにHiddenを選びます。

iexp3
後は、Long File nameが格納されるようにオプションにチェックを入れればOKです。

関連記事:
色々な実行ファイルを解凍する方法

関連サイト:
自己解凍形式(.exe)を作成する方法を探しています。- 人力検索はてな
IEXPRESSの便利な点、不便な点 - Softgelsの開発公開日記
歌と楽譜と小東と 新UTAU音源超軽量化計画

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です