Interop.IWshRuntimeLibrary.dll (Windows Scripting Host Runtime Libraryと呼ばれる
ものと思います)のようなマイクロソフト社が提供しているDLLを、自分が作成したプログ
ラムと一緒に、ユーザに再配布して(ときには商用として再配布)していいのでしょうか?
どなたかご存じの方いらっしゃいますか?
マイクロソフト社が提供しているとありますが、どこで、どのような形態で提供してい
るのですか?
すみません、せっかく、リプライいただいたのに、返信遅れました。
VisualStudio2005などを使用してC#のプログラムを作っていますが、デスクトップに自分
のプログラムのアイコンを作成する場合(つまりアイコンファイル XXX.lnkファイルを
デスクトップフォルダに保管し、そこから自分が作成したプログラムへのリンクを書き
こんでおく)に、IwshShell_Classを使うことができます。
このとき、前もって、「interop.IwshRuntimeLibrary」を参照追加して、using句で
IwshRuntimeLibraryを指定します。
そうすると、Interop.IWshRuntimeLibrary.dll がリンクされます。
で、お聞きしたいのは、リンクされる「Interop.IWshRuntimeLibrary.dll」は、自分で作
成したプログラムとは別のDLLになりますので、これも自分のプログラムと一緒に配布し
ていいのでしょうか? ということです。
つまり、自分のプログラムを配布する場合には、このDLLも配布(つまり再配布)しなけ
ればなりません(そうしないと、デスクトップにアイコンが作れません。)
アイコンを作成するプログラムのコーディングは、下記のようになります。
using IWshRuntimeLibrary;
IWshShell_Class TheShell = new IWshShell_Class();
IWshShortcut_Class shortcut = (IWshShortcut_Class)TheShell.CreateShortcut
(shortcutPath);
shortcut.TargetPath = filename;
shortcut.IconLocation = iconPath;
shortcut.Description = description;
string a = shortcut.Arguments;
string b = shortcut.FullName;
int c = shortcut.WindowStyle;
shortcut.Save();
俺はそんなこと聞いてません。
「Interop.IWshRuntimeLibrary.dll」というやつは、どこで配布されていて、どうやっ
て入手して、どこにインストールされているのですか? ということです。
あと、デスクトップにアイコンを作るのなら、セットアッププロジェクトを使うのが正
しいやり方です。
aetosさんへ
だから、私もInterop.IWshRuntimeLibrary.dllの正体を聞いているのです。
Interop.IWshRuntimeLibrary.dll は、COMの参照追加で Windows Script Host Object
Model を参照追加すると自動的にDebugのフォルダにコピーされます。
多分、マイクロソフト社から提供されているものだと思いますが、正体がわからないので
再配布していいいのかを、ここで知っている人がいないかと聞いているのです。
また、Visual StudioのExpress Editionではセットアッププロジェクトはできません。し
かしエクスプレスエディションで作ったプログラムは再配布が許されています。
よって、Express Editionで作成したプログラムを配布して、デスクトップにアイコンを作
成したければ、ひとつの方法としてInterop.IWshRuntimeLibrary.dllを使えばできます。
別に、セットアッププロジェクトを使うやり方だけが正しいわけではないでしょう?
http://social.msdn.microsoft.com/Forums/en-US/clr/thread/0c658855-ee41-4260-9c65-ce048765009e
ここでは
・wshom.ocxのwrapperとして自動生成される
・wshom.ocxはダメだけど、wrapperは再配布OK
となっていますね。
N.Touさん
貴重な情報、どうも有難うございます。
同じ問題にぶつかっている人が(2006年に)すでにいたようで、参考になりました。
Express Editionで作成したソフトを配布して、かつ、インストール時にデスクトップにア
イコンを作成したいと思っていたと推測されます。
マイクロソフト社の人に直接聞いてみるのも意味がありそうなので、ダメ元で聞いてみま
す。