|
製 品
サポート
|
Inno Setup知識データベースInno Setup知識データベースには付属文書やFAQに含まれていない追加の情報を納めています。 FAQ: 自作のアプリケーションと共にどのシステムファイルを配布する必要がありますか?記事作成: 2003-10-13 23:38 GMT by Jordan Russell どのファイルをインストールしたらよいですか?これはアプリケーションを作成した開発ツールによってもっぱら決まります。 Delphiのアプリケーションでは,実行時パッケージを使用している場合(この場合は,*.bplファイルを配布する必要があるでしょう)やTCoolBar or TDateTimePickerなどのコントロールを使用している場合(この場合は,comctl32.dllの新しいバージョン(1997年頃)が必要になります。)を除き,一般に外部ファイルに依存していません。 Visual Basic <= 6のアプリケーションでは,最低限,Visual Basic実行時ファイルが必要です。 Visual C++アプリケーションでは,実行時ファイルも必要です。 自作のアプリケーションを実行するのに,特定のファイルが必要かどうか自信がありません。どうしたらわかるでしょうか?Dependency Walkerなどのプログラムは依存性をたどって調べるのに役に立ちます。しかしながら,その結果には少し注意する必要があります。このプログラムは,Windowsにインストール済みのファイル(これらのファイルは配布しない方がよいのです)を含めて,アプリケーションが使用する全てのDLLファイルを報告します。 自作のアプリケーションを実行するのに必要なファイルやバージョンを判断する最も信頼性の高い方法は,自分がサポートしたいWindowsの一番古いバージョン(たとえば,Windows 95, Windows NT 4.0)をインストールしたばかりの環境にそのアプリケーションをインストールして実行し,見当たらないDLLやエクスポートに関してメッセージが出るかどうか確かめることです。(この点では,VMware Workstationは本当に役に立ちます。) 一般に,あるファイルを配布すべき自信がなければ,配布しない方がよいでしょう。最低限のファイルから始めてください。これとは正反対に,思いつく限りで全てのシステムファイルを配布してはいけません。深入りしすぎて,置換すべきではない(下記参照)ファイルまで置換してしまうと,ユーザーのシステムを破壊することになりかねません。(システムファイルが見つからなかったり古かったりして,アプリケーションが機能しない方がシステムが起動しないよりきっとましでしょう。) 自作のアプリケーションがWindowsにインストール済みではないマイクロソフト社のDLLに依存していると判断しました。配布するファイルはどこにありますか?まず最初に,自分のWindowsをインストールしているディレクトリから取り出したDLLを配布してはいけません。自分のWindowsのディレクトリにあるファイルは,Windowsの特定バージョンに合わせてあることが多いので,Windowsの他のバージョンでは動作しないか,下手すると下記のようになりかねません。特に最新版のWindowsを動かしている場合,この可能性が高くなります。 こんなことをする代わりに,再配布可能(redistributable)と見なされているバージョンのDLLをマイクロソフト社のWebサイトで探してください(http://www.microsoft.com/downloads/から探し始めるとよいでしょう)。このようなバージョンはWindowsのどのバージョンにインストールしてもふつう,大丈夫です(しかし,念のためにREADMEファイルを確認しましょう)。 何も見つからなければ,たぶん,問題のDLLファイルを個人で配布することは許されてないのでしょう。たとえば,shlwapi.dllの場合,インターネットエクスプローラのバージョン5以降をインストールしないと手に入りません(インターネットエクスプローラのDLLを個々に配布しようとしないでください。その代わりに,ユーザーにアプリケーションとは別個にインターネットエクスプローラをインストールするよう指示してください)。 どのファイルをインストールしない方がよいでしょうか?Windowsのカーネルやシェル,インターネットエクスプローラに付随するファイルは決して配布しないでください。これらのファイルはWindowsの特定のバージョンと結びついており,他のバージョンにインストールするとシステムが起動不可能になりかねません。 決して配布してはいけないファイル(これだけではありません):
Site contents Copyright © 1997-2004 Jordan Russell. All rights reserved.
|