2008-10-27 6 views
2

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

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

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

ответ

2

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

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

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

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

1

Благодарим за информацию. Это заставило меня понять, что я могу использовать исполняемый файл .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 

 Смежные вопросы

  • Нет связанных вопросов^_^