例えば、OSによって違うモジュールをインストールしたい時。
Program files /Appフォルダに、
XPでは、XP用の「hoge.dll」を、
2kでは、2k用の「hoge.dll」をインストールしたい時の方法。
ここでは、XPと2kで振り分けてインストールする事を考える。
1.複数のコンポーネントを作成する。
- 「インストールデザイナー」タブ → 「アプリケーションデータ」→「ファイルとフォルダ」の順に選択。
- 「インストール先コンピュータのフォルダ」欄で、「インストール先コンピュータ」を選択し、右クリック。「コンポーネントの表示」にチェックが入っている事を確認する。
- 「ProgramFilesFolder」を選択した状態で右クリック。「新規フォルダ」を選択し、「App」と名前をつける。
- 「App」フォルダを選択した状態で右クリック。「新規コンポーネント」を選択。とりあえず、「dll_2k」と名前をつける(2k用モジュール格納用)。
- 再び「App」フォルダを選択した状態で右クリック。「新規コンポーネント」を選択して、「dll_XP」と名前をつける(XP用モジュール格納用)。
- 「ソースコンピュータのファイル」欄から、「インストール先コンピュータのファイル」欄にD&Dを行い、2k用、XP用のコンポーネントを追加する。
2.対象OSと条件でインストール対象を決定する。
- 「インストールデザイナー」タブ → 「編成」→「コンポーネント」の順に選択。
- 「コンポーネント」の配下に、「dll_2k」と「dll_XP」があるはず。
- 「dll_2k」を選択し、「dll_2k コンポーネント」欄、「オペーレーティングシステム」で「Windows 2000」を選択。これで、dll_2kのコンポーネントは、2kのみにインストールされるようになる。
- 「dll_XP」を選択し、「dll_XP コンポーネント」欄、「条件」で「VersionNT=501 And WindowsBuild>=2264」と記入。これで、dll_XPのコンポーネントは、XPのみにインストールされるようになる。
※ 注意 パッチアップデート
この方法で作成したモジュールに対して、
メジャーアップデート、マイナーアップデートはできるが、
パッチアップデートはうまく作成できないようだ。
理由としては、
パッチアップデートは、以前のファイルと最新ファイルを比較し、
差分を持っているが、例えばXPのマシンでパッチを作成しようとすると、
XP用のコンポーネントのみしか展開されない。
そのため、2kのマシンでパッチアップデートを行おうとしても、
探しているものとは、違うファイルが該当場所にあるため、パッチアップデートに失敗する。
※ 注意 OSを2kからXP、もしくはXPから2kにする場合
うまくいかない。
2kでインストール、OSをXPにアップグレード、
2kでマイナーアップデートすると、2k用のファイルがインストールされる。
#どこかに情報が残っているんだろうか。
<google 検索 キーワード>
OS判断 違うファイル インストール
インストーラ 複数OS 対応
0 件のコメント:
コメントを投稿