2

I have a ClickOnce deployed application I want to launch from VBScript, similar to launching Microsoft Word in the following example:

Dim word
Set word = CreateObject("Word.Application")
word.Visible = True

The problem is I don't know what parameter to pass into the CreateObject function to launch my application. Where would I find the master list of applications installed on my PC/the shortcut to call to launch them?

4

2 に答える 2

2

ClickOnce は単にそのようにインストールされていません。通常、COM フック (CreateObject 用) はなく、ユーザー プロファイルの分離された部分 (マシンのプロファイルではない) にインストールされます。また、ClickOnce を使用して (異なる場所から) 同じアプリの複数のコピー/バージョンを一度に取得できることも忘れないでください。

1つのオプション(3.5 / VS2008)は、新しいファイル関連付けを使用することです...アプリを「.foo」ファイルに関連付け、空の「.foo」ファイルを作成して起動します。それはうまくいくかもしれません。VS2008 の Publish=>Options ダイアログを見てください。

それ以外の場合 - 基本的に、このタイプの使用法が必要な場合は、アプリを COM ライブラリ (dll) として登録するために msi (つまり、ClickOnce ではなく通常のインストーラー) を使用する必要があると思います。.NET は適切な COM サーバー (exe) にはならないことに注意してください。そのため、Word と直接比較することはできません。.NET COM サーバーが必要な場合は、「サービス コンポーネント」が最善の策ですが、これらは UI で大きくなる傾向はありません。

参考までに、隔離された領域は「%userprofile%\Local Settings\Apps\2.0」付近にありますが、これは単なる興味のためのものなので、見ることができます..そこから実行しようとしないでください.

于 2008-10-27T15:46:54.673 に答える
1

情報をありがとう。その結果、vbscript の代わりに .Net 実行可能ファイルを使用してアプリケーションを起動できることに気付きました。

    Dim program As New Process

    'Try to run a .Net click-once application
    Try
        Dim shortcut As String = Environment.GetFolderPath(Environment.SpecialFolder.StartMenu)
        shortcut = shortcut + "specific\shorctut\path\shortcut.appref-ms"
        program .StartInfo.FileName = lpsShortcut
        program .Start()
    Catch
        'If not go to the web site for a fresh install
        Try
            .Diagnostics.Process.Start("IExplore.exe", "http://url/program.application")
        Catch ex As Exception
            'Log or Email alert here...
        End Try
    End Try
于 2008-11-05T17:15:51.880 に答える