2008-10-27 132 views
2

我有一个ClickOnce部署的应用程序我想从VBScript中,类似的发射,以在下面的示例启动Microsoft Word中的ClickOnce部署Windows应用程序:启动使用VBScript

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

问题是我不知道是什么参数传入CreateObject函数来启动我的应用程序。我在哪里可以找到安装在我的PC上的应用程序主列表/调用启动它们的快捷方式?

回答

2

ClickOnce根本就没有这样安装。它们通常不具有COM钩子(用于CreateObject),并且安装在用户配置文件的独立部分(不是该机器的配置文件)中。不要忘记,您还可以通过ClickOnce(来自不同地点)同时获取同一应用程序的多个副本/版本。

一个选项(在3.5/VS2008)可能是使用新的文件关联的东西......与“.foo”此时文件,创建一个空的“.foo”此时文件,并启动您的应用关联。这可能会起作用。查看VS2008中的Publish => Options对话框。否则 - 基本上,如果你想要这种类型的用法,我怀疑你将需要使用msi(即常规安装程序;而不是ClickOnce)将你的应用程序注册为COM库(dll)。请注意,.NET不会构建一个好的COM服务器(exe) - 因此不会直接与Word进行比较。如果你想要一个.NET COM服务器,那么“服务组件”是你最好的选择 - 但这些在UI上并不是很大。

有关信息,隔离区域位于“%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