0

ユーザーの選択に基づいて、コンピューターが起動するたびに実行したい ClickOnce アプリケーションがあります。このために、アプリケーションの実行可能ファイルをレジストリに追加します。ただし、これによりアプリが直接起動され、更新の ClickOnce 検索がスキップされます。そのため、レジストリで正しくセットアップするには、ClickOnce アプリケーションへのパスが必要です。

4

1 に答える 1

0

スタート メニューのショートカット (ClickOnce のインストール時に作成) が実行する .appref-ms ファイルを実行します。これは、VB.Net で行うことです。

Dim FilePath As String = Environment.GetFolderPath(Environment.SpecialFolder.StartMenu) + "\Programs\[your publisher name]\[your app name]"
Static p As Process

Dim files As String()

Try
    files = Directory.GetFiles(FilePath, "[your shortcut name]*.appref-ms")
Catch ex As Exception
    '' an exception is thrown if no matching file exists
    '' you can open your ClickOnce URL in a webbrowser control here
    Return
End Try

If files.Length = 1 Then
    Dim psi As ProcessStartInfo = New ProcessStartInfo(files(0))
    psi.Arguments = "" 
    psi.WorkingDirectory = FilePath
    psi.UseShellExecute = True
    psi.CreateNoWindow = False
    psi.WindowStyle = ProcessWindowStyle.Normal
    psi.RedirectStandardOutput = False
    psi.RedirectStandardError = False

    Try
        p = Process.Start(psi)
        p.WaitForExit(50)
        p.Close()
    Catch ex As Exception
        ' handle error
    End Try
Else
    ' more than one would be an anomaly
    If files.Length > 1 Then
        Dim f As String
        For Each f In files
            File.Delete(f)
        Next
    End If

    '' you can open your ClickOnce URL in a webbrowser control here
End If
于 2012-09-08T06:59:57.570 に答える