DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Excelのバージョンによりアドインファイルのインストール先を変更したい

環境/言語:[WindowsXP VB6.0SP5 Office2000/2003 VisualStudioInstaller1.1]
分類:[インストーラ]

お世話になります。
VisualStudioInstaller1.1を用いてインストーラを作成しています。
ターゲットマシンには、Excel2000 or Excel2003がインストールされていることが前提条件で、
Excelのバージョンにより、以下のどちらかにExcelのアドインファイルを
インストールできないものかと悩んでおります。

Excel2000:C:\Program Files\Microsoft Office\Office\Library
Excel2003:C:\Program Files\Microsoft Office\Office11\Library

VisualStudioInstaller1.1で、あるファイルをインストールする前に、
条件判定するみたいなことって可能でしょうか?
どなたかご存知の方がいらっしゃいましたら、ご教授願います。
> VB6.0SP5
SP6 では無いのですね。

> Excel2000:C:\Program Files\Microsoft Office\Office\Library
> Excel2003:C:\Program Files\Microsoft Office\Office11\Library
このパスというのは、
 Set X = CreateObject("Excel.Application")
 MsgBox X.LibraryPath
 X.Quit
 Set X = Nothing
などで得られるパスという事ですね?


> VisualStudioInstaller1.1で、あるファイルをインストールする前に、
> 条件判定するみたいなことって可能でしょうか?
条件(画面サイズ、OS種別、メモリサイズ等)ごとのカスタマイズには、
Condition プロパティを使います。
http://www.microsoft.com/japan/developer/library/vsinstal/vedlgaddoreditlaunchcondition.htm
http://msdn.microsoft.com/library/en-us/msi/setup/property_reference.asp

が、今回のような細かい要件には、制御用のスクリプトなりDLLなりを用意する
必要が生じるでしょう。しかも VSI 1.1 には、そうしたカスタムアクションを
組み込むためのインターフェイスが用意されていません。

ですから、インストール時に対応するのではなく、VB6 アプリの初回起動時に、
LibraryPath を調べて、Excel の Library フォルダに必要なファイルを
コピーするようにしてしまうのも、一つの手かもしれません。
魔界の仮面弁士さん、回答ありがとうございます。

> SP6 では無いのですね。

はい。SP5です。

>>Excel2000:C:\Program Files\Microsoft Office\Office\Library
>>Excel2003:C:\Program Files\Microsoft Office\Office11\Library
> このパスというのは、
>  Set X = CreateObject("Excel.Application")
>  MsgBox X.LibraryPath
>  X.Quit
>  Set X = Nothing
> などで得られるパスという事ですね?

はい。そうです。

> ですから、インストール時に対応するのではなく、VB6 アプリの初回起動時に、
> LibraryPath を調べて、Excel の Library フォルダに必要なファイルを
> コピーするようにしてしまうのも、一つの手かもしれません。

やはりVSI1.1でインストール先を動的に変更できそうにないことがわかりました。
ご教授いただいたとおり、アプリ起動時に対応する方向で検討させていただきます。
本当にありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板