none
ディスクトップへのアイコン表示方法 RRS feed

  • 質問

  • vb.netで製作したプログラムを配布するに当たり、
    インストラーを発行したのですがディスクトップへ
    アイコン表示をさせるにはどのようにすればよいでしょうか?

    都合により「セットアッププロジェクト」は利用せず
    発行画面からのインストラーで対応する方法を教えてください

    環境:VS2008
    プログラムはVB(.NET2.0)
    2009年5月1日 2:52

回答

  • 「発行」ということは、ClickOnce アプリケーションですね。

    .NET Framework 3.5 SP1 (Visual Studio 2008 SP1) ですと、プロジェクトのプロパティでチェックを入れるだけでデスクトップにショートカットを作成できます。まずは、.NET Framework のバージョン アップをご検討ください。

    と、それだけだと身も蓋もないので...。

    どうしても .NET Framework 2.0 上で実現する必要がある場合には、次の記事が参考になるでしょう。

     How to add Desktop Shortcut to ClickOnce Deployment Application
     http://geekswithblogs.net/murraybgordon/archive/2006/10/04/93203.aspx

    一見すると C# のコードですが、コメントの中に VB のコードもあります。配布するアプリケーションの先頭近くで呼び出してあげて、アプリケーション自身でショートカットを登録することになります。

    他には次の記事が参考になると思います。

     ClickOnce Desktop Shortcuts - A serious update to a previous post
     http://thedatafarm.com/devlifeblog/archive/2006/07/28/42695.aspx

     The Zen Of The ClickOnce Deployed Application Desktop Shortcut
     http://scottschecter.com/blog/post/The-Zen-Of-The-ClickOnce-Deployed-Application-Desktop-Shortcut.aspx
    • 回答としてマーク YasuAra 2009年5月18日 5:57
    2009年5月3日 9:36

すべての返信

  • 「発行」ということは、ClickOnce アプリケーションですね。

    .NET Framework 3.5 SP1 (Visual Studio 2008 SP1) ですと、プロジェクトのプロパティでチェックを入れるだけでデスクトップにショートカットを作成できます。まずは、.NET Framework のバージョン アップをご検討ください。

    と、それだけだと身も蓋もないので...。

    どうしても .NET Framework 2.0 上で実現する必要がある場合には、次の記事が参考になるでしょう。

     How to add Desktop Shortcut to ClickOnce Deployment Application
     http://geekswithblogs.net/murraybgordon/archive/2006/10/04/93203.aspx

    一見すると C# のコードですが、コメントの中に VB のコードもあります。配布するアプリケーションの先頭近くで呼び出してあげて、アプリケーション自身でショートカットを登録することになります。

    他には次の記事が参考になると思います。

     ClickOnce Desktop Shortcuts - A serious update to a previous post
     http://thedatafarm.com/devlifeblog/archive/2006/07/28/42695.aspx

     The Zen Of The ClickOnce Deployed Application Desktop Shortcut
     http://scottschecter.com/blog/post/The-Zen-Of-The-ClickOnce-Deployed-Application-Desktop-Shortcut.aspx
    • 回答としてマーク YasuAra 2009年5月18日 5:57
    2009年5月3日 9:36
  • 大変遅い返信となってしまいましたが、totojoさま情報ありがとうございました


    >.NET Framework 3.5 SP1 (Visual Studio 2008 SP1) ですと、プロジェクトのプロパティでチェックを入れるだけでデスクトップにショ>ートカットを作成できます。まずは、.NET Framework のバージョン アップをご検討ください。

    今回どうしても.net2.0で対応したく、コメントのように簡単にできないものかと方法を考えていました
    教えていただいた情報を元に無事、完成させることができました

    以下コード記載します
    '+++++++++++++++++++++++++++++++++++++++++++++++++++++
    '+参照:System.Deployment、Windows Scripting Host
    '+++++++++++++++++++++++++++++++++++++++++++++++++++++
    'ClickOnceの更新確認
    Dim ad As System.Deployment.Application.ApplicationDeployment
    ad = System.Deployment.Application.ApplicationDeployment.CurrentDeployment

    '初回起動時のみ以下実施
    If (ad.IsFirstRun) Then
     'ディスクトップのPath取得
     Dim MyPath As String = System.Environment.GetFolderPath(System.Environment.SpecialFolder.DesktopDirectory)
      'ショートカットリンク先設定(ショートカット名)
      Dim LnKName As String = MyPath + "\リンク名.lnk"
      'Windows Scripting Host (WSH) 
      Dim wsc As IWshRuntimeLibrary.WshShellClass = New IWshRuntimeLibrary.WshShellClass
      Dim ws As IWshRuntimeLibrary.WshShortcut = CType(wsc.CreateShortcut(LnKName), WshRuntimeLibrary.WshShortcut)
      'リンク先設定
     ws.TargetPath = My.Application.Info.DirectoryPath + "\実行PRG名.exe"
      'ショートカットicon設定
      ws.IconLocation = ws.TargetPath
      'ショートカットの説明
      ws.Description = "ショートカットの説明文"
      'ショートカット設置位置
       ws.WorkingDirectory = MyPath
       'ショートカット作成
       ws.Save()
    End If

    2009年5月18日 6:05