Pregunta

Tengo una aplicación desplegada ClickOnce que deseo iniciar desde VBScript, similar a lanzar Microsoft Word en el siguiente ejemplo:

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

El problema es que no sé qué parámetro pasar a la función CreateObject para iniciar mi aplicación. ¿Dónde encontraría la lista maestra de aplicaciones instaladas en mi PC / el acceso directo para llamar y lanzarlas?

¿Fue útil?

Solución

ClickOnce simplemente no está instalado de esa manera. Normalmente no tienen ganchos COM (para CreateObject), y se instalan en una parte aislada del perfil del usuario (no el perfil de esa máquina). Y no olvide que también puede obtener varias copias / versiones de la misma aplicación a la vez a través de ClickOnce (desde diferentes ubicaciones).

Una opción (en 3.5 / VS2008) podría ser usar el nuevo archivo de asociaciones ... asociar su aplicación con " .foo " archivos, cree un " .foo " vacío archivar y empezar. Aquello podría funcionar. Busque en el cuadro de diálogo Publicar = > Opciones en VS2008.

De lo contrario, básicamente, si desea este tipo de uso, sospecho que necesitará usar msi (es decir, un instalador normal, no ClickOnce) para registrar su aplicación como una biblioteca COM (dll). Tenga en cuenta que .NET no es un buen servidor COM (exe), por lo que no se compara directamente con Word. Si desea un servidor .NET COM, entonces " componentes revisados ??" es su mejor apuesta, pero no suelen ser grandes en la interfaz de usuario.

Para información, el área aislada está en algún lugar alrededor de "% userprofile% \ Local Settings \ Apps \ 2.0 " ;, pero esto es solo por interés para que pueda verlo ... no intente ejecutarlo desde allí.

Otros consejos

Gracias por la información. Eso me hizo darme cuenta de que podía usar un ejecutable .Net en lugar de un vbscript para iniciar mi aplicación.

    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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top