Question

Je souhaite lancer une application déployée ClickOnce à partir de VBScript, similaire au lancement de Microsoft Word dans l'exemple suivant:

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

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

Était-ce utile?

La solution

ClickOnce n'est tout simplement pas installé de cette façon. Ils ne possèdent généralement pas de points d'ancrage COM (pour CreateObject) et sont installés dans une partie isolée du profil de l'utilisateur (et non du 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 emplacements).

Une option (dans 3.5 / VS2008) pourrait être d’utiliser les nouvelles associations de fichiers, associez votre application à " .foo " fichiers, créez un " .foo & vide; déposer et le démarrer. Cela pourrait fonctionner. Consultez la boîte de dialogue Publier = > Options de VS2008.

Sinon, si vous souhaitez ce type d’utilisation, vous devrez probablement utiliser msi (c’est-à-dire un programme d’installation standard; 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 "Composants desservis". sont votre meilleur pari - mais ceux-ci ne tendent pas à être gros sur l'interface utilisateur.

Pour information, la zone isolée se situe quelque part autour de &%;% userprofile% \ Local Settings \ Apps \ 2.0 ", mais ceci est juste pour votre intérêt afin que vous puissiez le voir .. n'essayez pas de l'exécuter à partir de là.

Autres conseils

Merci pour l'info. Cela m'a fait comprendre que je pouvais 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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top