Pergunta

Eu tenho um aplicativo clickonce implantado que quero lançar do VBScript, semelhante ao lançamento do Microsoft Word no exemplo a seguir:

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

O problema é que não sei qual parâmetro passar para o CreateObject função para iniciar meu aplicativo. Onde eu encontraria a lista principal de aplicativos instalados no meu PC/o atalho para ligar para iniciá -los?

Foi útil?

Solução

O ClickOnce simplesmente não está instalado dessa maneira. Eles normalmente não têm ganchos COM (para CreateObject) e são instalados em uma parte isolada do perfil do usuário (não o perfil dessa máquina). E não se esqueça que você também pode obter várias cópias/versões do mesmo aplicativo de uma só vez via ClickOnce (de diferentes locais).

Uma opção (em 3.5/vs2008) pode ser usar o novo material de associações de arquivos ... associar seu aplicativo com arquivos ".foo", criar um arquivo vazio ".foo" e iniciá -lo. Isso pode funcionar. Procure na caixa de diálogo Publish => Opções no VS2008.

Caso contrário - basicamente, se você deseja esse tipo de uso, suspeito que precisará usar o MSI (ou seja, um instalador regular; não clickOnce) para registrar seu aplicativo como uma biblioteca COM (DLL). Observe que o .NET não é um bom servidor com (exe) - portanto, não se compara diretamente ao Word. Se você deseja um servidor .NET com, os "componentes de serviço" são a sua melhor aposta - mas eles não tendem a ser grandes na interface do usuário.

Para informações, a área isolada está em torno de "%UserProfile% Configurações locais Apps 2.0", mas isso é apenas por interesse para que você possa vê -lo. Não tente executá -lo a partir daí.

Outras dicas

Obrigado pela informação. Isso me fez perceber que eu poderia usar um .NET executável em vez de um VBScript para iniciar meu aplicativo.

    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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top