Pergunta

Eu tenho tentado apenas sobre tudo para conseguir nosso aplicativo ClickOnce VB.NET para executar sob Terminal Services como um RemoteApp. Eu tenho um arquivo em lotes que executa o arquivo .application para o aplicativo.

Isso funciona bem através de sessão de desktop RDP no servidor de terminal . Como TS RemoteApp, no entanto, bem ... não tanto.

Eu recebo um flash rápido de prompt de comando (o arquivo de lote) no sistema cliente e depois ... nada ...

O mesmo vale para tê-lo apontar diretamente para o arquivo .application (sem o uso de um arquivo de lote) ou mesmo copiar a publicação localmente e ter que apontam para isso.

Eu encontrei um technet.microsoft.com discussão sobre um problema semelhante, mas não há nenhuma resolução a ele na lista.

Para quem tem correr para isso antes e tenho que trabalhar, o que você tem que fazer?

Atualmente usamos RemoteApp de para tudo o resto no servidor, então eu estou esperando para ficar com isso, se possível.

A solução atual é construir e executar um instalador baseado em MSI para o aplicativo em nosso servidor de terminal sempre que publicar via OneClick para a rede, mas isso pode ser uma dor às vezes e é fácil esquecer de fazer.

Uma vez que o aplicativo funciona bem via Terminal Services quando executado no modo de desktop completo, mas não durante RemoteApp, eu não acho que de nada específico para permissões do Terminal Server tanto como ClickOnce exigindo algo que não está disponível quando executado como um RemoteApp .

Foi útil?

Solução

A chave para fazê-la funcionar é usar o Windows Explorer "C: \ windows \ explorer.exe". Este processo é o processo de base quando você login para uma sessão completa.

Se você configurar o RemoteApp para usar o Windows Explorer e o argumento de linha de comando do caminho para o arquivo .application para a aplicação ClickOnce, em seguida, ele irá trabalhar quando lançado como um aplicativo remoto. Windows Explorer irá piscar por um segundo quando ele começa, mas ele vai desaparecer, em seguida, a aplicação ClickOnce será iniciado.

Outras dicas

Por que tem que ser um aplicativo ClickOnce? Eu consideraria apenas distribuir o arquivo exe e montagens.

Eu sei que apenas metade de uma solução, mas se o aplicativo não muda muito, pode ser uma boa solução.

Eu acredito que o problema está relacionado ao fato de que ClickOnce precisa armazenar os dados em uma pasta de usuário especial chamado de cache do aplicativo ClickOnce. Aparentemente, por causa de como Terminal Services configura pastas do usuário ClickOnce não podem acessar este no modo TerminalServices.

Veja este link para mais informações.

http://msdn.microsoft.com/ en-us / library / 267k390a (VS.80) .aspx

Pode não haver uma maneira de fazê-lo: (

Você pode iniciar o .exe diretamente? Está enterrado em seu perfil no \ AppData \ Local \ Apps \ 2.0 [pastas ofuscado], mas você deve ser capaz de encontrá-lo.

Isso vai pular o built-in processo de atualização, mas se ele pode ser lançado de que maneira você poderia, então, escrever código para fazer um manual de atualização após o aplicativo é iniciado.

enfrentou o mesmo problema esta manhã e foi-lo resolvido copiando o diretório do aplicativo clickonce das configurações do usuário pasta para algum lugar como c: \ MyApp \ - Eu sei que é bastante desagradável e não muito ideal .. mas bom para mim

Recentemente, corri em toda esta questão e decidiu publicar um relatório de bug sobre esta questão para a equipe de desenvolvimento Visual Studio. Sinta-se livre para comentar sobre o relatório de bug. Tem que ser um bug no ClickOnce causada por algumas mudanças no Server 2008.

https://connect.microsoft.com/VisualStudio/feedback/details/653362/net-clickonce-deployment-not-working-as-remoteapp-or-citrix- XenApp-on-servidor-2008-servidor-2008-r2

Temos também uma discussão nos fóruns do MSDN que cobrem esse problema:

http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/7f41667d-287a-4157-be71-d408751358d9/#92a7e5d9-22b6-44ba-9346-ef87a3b85edc

Tente usar RegMon e FileMon ao iniciar o app -. Você pode ser capaz de rastreá-lo a um problema de arquivo e / ou permissão de registro

Além disso, verifique talvez os logs de eventos para ver se qualquer coisa é ficar registrado quando o processo falhar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top