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

デスクトップ上のアプリショートカットにファイルをD&Dして起動

環境/言語:[VB 2008 (VS 2008)、.NET Framework 3.5 SP1]
分類:[.NET]

2012/05/22(Tue) 09:51:57 編集(投稿者)

教えてください。
VB 2008で作成したソフトのインストーラーをセットアッププロジェクトで作成しています。
インストーラーを実行すると、ソフトのショートカットをデスクトップに作成するようにしていますが、
このショートカット上に、任意のファイルをドラッグ&ドロップすると、ソフトが起動し、
このファイルを読み込むようにしたいのですが、どのようにすればよいでしょうか?

@@追記@@
インストールしたexeアイコン上に任意のファイルをドラッグ&ドロップすると、exeアイコン上で+マークが表示され、
このファイルのパスをコマンドライン引数として取得出来ることは確認しました。
また、exeファイルを右クリックして作成したショートカットでもドラッグ&ドロップはうまくいきました。
ただ、インストーラーを使ってインストールした時にデスクトップ上に作成されたショートカットのアイコンでは、
禁止マークが出てドロップできません。

宜しくお願い致します。
自己レスです。

もしかしてこれが関係しているのでしょうか?

アドバタイズショートカットではなく、普通のショートカットを作成する
http://dobon.net/vb/dotnet/deployment/disableadvtshortcuts.html

もう少し調べてみます。
やはり、インストーラーで作成されるショートカットがアドバタイズショートカットであったため、
ドラッグ&ドロップが効かなかったようです。
一応、OrcaでMSIファイルを開き、PropertyテーブルにProperty「DISABLEADVTSHORTCUTS」、Value「1」の行を追加することで
ドラッグ&ドロップの効くショートカットを作成することができました。

ただ、ひとつ困ったことがあります。
インストーラー用に作成しているセットアッププロジェクトで、RemovePreviousVersion
(インストール時に旧バージョンを削除するかどうか)をTrueにしているのですが、
旧バージョン(ショートカットはアドバタイズ)がインストールされている状態で
新しいバージョン(ショートカットは通常)をインストールすると、旧バージョンの
ショートカットは削除されるのですが、新しいバージョンのショートカットが作成されません。
旧バージョンがインストールされていない場合や、一度新しいバージョンをアンインストールしてから
再インストールした場合は、ショートカットがちゃんと作成されます。
再インストール以外に何か対処法はありますでしょうか?

宜しくお願い致します。
> 再インストール以外に何か対処法はありますでしょうか?

  多分、無いです。
  カスタムインストーラの方で、アンインストール時にアドバタイズショートカ
  ットを探して削除する・・・と言う機能を追加するしかないと思いますが。

以上。
■No30477に返信(オショウさんの記事)
>>再インストール以外に何か対処法はありますでしょうか?
>
>   多分、無いです。
>   カスタムインストーラの方で、アンインストール時にアドバタイズショートカ
>   ットを探して削除する・・・と言う機能を追加するしかないと思いますが。
>
> 以上。

オショウ様、返信有難うございました。
とりあえず、本件はクローズしようと思います。

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