Запуск приложения ClickOnce Deployed для Windows с использованием VBScript

StackOverflow https://stackoverflow.com/questions/240345

Вопрос

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

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

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

Это было полезно?

Решение

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 " ;, но это просто для интереса, так что вы можете ее увидеть ... не пытайтесь запустить ее оттуда.

Другие советы

Спасибо за информацию. Это заставило меня понять, что я могу использовать исполняемый файл .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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top