2008-10-27 5 views
2

J'ai une application déployée ClickOnce je veux lancer à partir de VBScript, similaire au lancement de Microsoft Word dans l'exemple suivant:Lancement d'une application Windows ClickOnce Déployé en utilisant VBScript

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

Le problème est que je ne sais pas ce que paramètre à passer dans la fonction CreateObject pour lancer mon application. Où trouver la liste principale des applications installées sur mon PC/le raccourci à appeler pour les lancer?

Répondre

2

ClickOnce n'est simplement pas installé de cette façon. Ils n'ont généralement pas de hooks COM (pour CreateObject) et sont installés dans une partie isolée du profil de l'utilisateur (pas le profil de cette machine). Et n'oubliez pas que vous pouvez également obtenir plusieurs copies/versions de la même application à la fois via ClickOnce (à partir de différents endroits). Une option (dans 3.5/VS2008) pourrait être d'utiliser les nouvelles associations de fichiers ... associer votre application avec les fichiers ".foo", créer un fichier ".foo" vide et le démarrer. Cela pourrait fonctionner. Regardez dans la boîte de dialogue Publier => Options dans VS2008. Sinon, fondamentalement, si vous voulez ce type d'utilisation, je suppose que vous devrez utiliser msi (c'est-à-dire un programme d'installation normal, pas ClickOnce) pour enregistrer votre application en tant que bibliothèque COM (dll). Notez que .NET ne fait pas un bon serveur COM (exe) - donc ne se compare pas directement à Word. Si vous voulez un serveur COM .NET, alors les "composants entretenus" sont votre meilleur choix - mais ils n'ont pas tendance à être gros sur l'interface utilisateur. Pour info, la zone isolée est quelque part autour de "% userprofile% \ Local Settings \ Apps \ 2.0", mais c'est juste pour l'intérêt de sorte que vous pouvez le voir .. ne pas essayer de l'exécuter à partir de là.

1

Merci pour l'info. Cela m'a fait réaliser que je pourrais utiliser un exécutable .Net au lieu d'un vbscript pour lancer mon application.

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 
Questions connexes