Запуск приложения ClickOnce Deployed для Windows с использованием VBScript - PullRequest
2 голосов
/ 27 октября 2008

У меня есть развернутое приложение ClickOnce, которое я хочу запустить из VBScript, аналогично запуску Microsoft Word в следующем примере:

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

Проблема в том, что я не знаю, какой параметр передать в функцию CreateObject для запуска моего приложения. Где я могу найти основной список приложений, установленных на моем ПК / ярлык для вызова их запуска?

Ответы [ 2 ]

2 голосов
/ 27 октября 2008

ClickOnce просто не устанавливается таким образом. Обычно они не имеют COM-хуков (для CreateObject) и устанавливаются в изолированной части профиля пользователя (а не в профиле этого компьютера). И не забудьте, что вы также можете получить несколько копий / версий одного и того же приложения одновременно через ClickOnce (из разных мест).

Один из вариантов (в 3.5 / VS2008) может заключаться в использовании нового материала для сопоставления файлов ... свяжите свое приложение с файлами ".foo", создайте пустой файл ".foo" и запустите его. Это может сработать. Посмотрите в диалоговом окне «Опубликовать => параметры» в VS2008.

В противном случае - в основном, если вы хотите использовать этот тип, я подозреваю, что вам нужно будет использовать msi (т.е. обычный установщик; не ClickOnce), чтобы зарегистрировать ваше приложение как библиотеку COM (dll). Обратите внимание, что .NET не является хорошим COM-сервером (exe) - поэтому не сравнивается напрямую с Word. Если вы хотите .NET COM-сервер, то лучше всего подойдут «обслуживаемые компоненты», но они не слишком велики для пользовательского интерфейса.

Для информации, изолированная область находится где-то около "% userprofile% \ Local Settings \ Apps \ 2.0", но это просто для интереса, так что вы можете увидеть это ... не пытайтесь запустить ее оттуда.

1 голос
/ 05 ноября 2008

Спасибо за информацию. Это заставило меня понять, что я могу использовать исполняемый файл .Net вместо vbscript для запуска моего приложения.

    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
...