Implantando um aplicativo de tempo de execução usando o Internet Explorer

Aplicativos baseados na Web podem usar o Microsoft Internet Explorer 5.5 ou posterior para baixar e executar módulos (assemblies).Um aplicativo baseado na Web pode baixar os dois tipos de arquivos padrão executável portátil (PE) — .exe ou .dll.Um documento HTML pode fornecer informações sobre quais assemblies para baixar, locais os assemblies e o local de um arquivo de configuração que pode fornecer informações adicionais.

Um benefício de usando o Internet Explorer para implantar um aplicativo é que os assemblies serão baixados somente quando elas são usadas.Se o aplicativo consiste em vários assemblies, módulos (assemblies) serão baixados somente quando referenciado.Esse processo automático fornece mais rápido baixar inicial de um aplicativo, já que todo o aplicativo não tem a serem baixados e o cliente recebe somente o código usa.

Observação:

Código implantado a partir da Internet normalmente possui as permissões de Internet padrão definidas pela diretiva de segurança.Essas permissões Permitir código executar somente um conjunto limitado de funções.Para obter mais informações sobre a diretiva de segurança de Internet padrão, consulte Diretiva de segurança.

Configurações do aplicativo baseado na Web

Por padrão, o common linguagem tempo de execução cria um domínio do aplicativo para cada site acessado usando o Internet Explorer.Domínios de aplicativo isolam aplicativos separados executados em um processo.A maneira na qual aplicativo domínios são criados afeta as permissões que os assemblies têm quando em execução no domínio.Cada domínio do aplicativo é associado a evidência de URL e uma base de aplicativo e também pode ter um arquivo de configuração.

Evidência de URL

Evidência de URL é atribuído aos aplicativos implantados usando o Microsoft Internet Explorer 5.5 ou posterior.host de tempo de execução usa essa evidência de URL para tomar decisões com base na diretiva de segurança.Embora a evidência de URL está associada com assemblies que compõem o aplicativo e com o domínio do aplicativo o aplicativo cria, o formato para a evidência é diferente em cada caso.Para um assembly, a evidência de URL é o caminho de URL completo para o arquivo do assembly principal.Por exemplo, um assembly que faz parte de um aplicativo poderia ter a evidência de URL do http://www.code.microsoft.com/myApp/myAssembly.dll.A evidência de URL para o domínio do aplicativo é equivalente a evidência do site.Usando o exemplo anterior, a evidência de URL para o domínio do aplicativo seria http://www.code.microsoft.com/.

Observação:

O local do arquivo de configuração do aplicativo não influencia a evidência de URL para o domínio do aplicativo.

Configuration Files

Aplicativos da Web implantados usando o Internet Explorer podem usar informações armazenadas em um arquivo de configuração do aplicativo.O arquivo de configuração do aplicativo deve ser no servidor Web no mesmo diretório sistema autônomo o executável do aplicativo.O arquivo de configuração do aplicativo deve seguir as regras de nomes de arquivos de configuração do aplicativo.O arquivo deve ter o mesmo nome sistema autônomo executável, com o .config extensão acrescentado a ele.Por exemplo e o aplicativo chamado myApplication.exe teria um arquivo de configuração do aplicativo chamado myApplication.exe.config.

Aplicativos ASP.NET especificar informações sobre a configuração usando um arquivo web.config.Aplicativos da Web podem fornecer informações de configuração, sistema autônomo ASP.NET e um host executável estivesse.Se um aplicativo hospedado no Internet Explorer tiver um arquivo de configuração, o local do arquivo de configuração é especificado em um <link > marca com a seguinte sintaxe:

<LINK REL="CONFIGURATION" HREF="[configuration file name]"></LINK>

Neste exemplo, nome de arquivo de configuração é nome de arquivo de configuração, por exemplo:

<LINK REL="CONFIGURATION" HREF="two.dll.config"></LINK>

Para cenários de aplicativo Web básicos, onde a página da Web não fornecer um <link > marca para um arquivo de configuração, o tempo de execução cria um domínio do aplicativo em uma base por site.Ou seja, se o documento HTML reside em http://www.code.microsoft.com/myApp/mypage.htm, o domínio do aplicativo é criado pela http://www.code.microsoft.com todo o site.Observe que enquanto esse cenário é conveniente para o autor da Web, a todas as páginas da Web que usam gerenciadas assemblies de código no mesmo domínio do aplicativo compartilhamento de site porque não foi especificado nenhum arquivo de configuração.

Se o aplicativo lê informações de um arquivo de configuração do aplicativo, faça o seguinte:

  • Coloque o arquivo de configuração no mesmo local que o executável.

  • Permitir acesso anônimo ao site e o diretório que contém o arquivo de configuração deve permitir a execução do script.

Em um cenário mais complexo, dois ou mais aplicativos diferentes podem ser necessários executados no mesmo site e ainda ser isolados entre si.Para obter esse isolamento, o autor da página da Web deve especificar um arquivo de configuração no documento HTML.Todas as páginas que apontam para o mesmo arquivo de configuração são criadas no mesmo domínio do aplicativo.Dessa forma, é possível criar um domínio do aplicativo em cada arquivo por configuração.

Observação:

O tempo de execução não suporta o caractere '#' em URLs que aponte para uma configuração de arquivo quando o < link > marca contém um caminho relativo.

base de aplicativo

The ApplicationBase é uma propriedade de domínio do aplicativo que especifica o diretório que serve sistema autônomo o diretório raiz quando o tempo de execução procura por módulos (assemblies). Por padrão, a ApplicationBase propriedade é considerada a raiz do site (por exemplo, wwwroot).Se um arquivo de configuração do aplicativo estiver presente, o ApplicationBase se tornará o local do arquivo de configuração.O arquivo de configuração pode conter informações de configuração específicas para o código em execução no domínio do aplicativo.Se você tiver mais de um site definido em uma computador, a ApplicationBase padrão é o site "default" definido na porta 80.

Baixando arquivos executáveis gerenciado

Embora a maioria dos aplicativos baixados usando o <objeto > marca são controles da interface do usuário que aparecem na página da Web, o tempo de execução também oferece suporte a dois cenários para download executáveis gerenciado:

  • Um usuário digita o URL de um arquivo .exe gerenciado no navegador; por exemplo:

    http://www.server.microsoft.com/MyWebSite/MyApp.exe.
    
  • Uma página HTML contém um link para um executável gerenciado; por exemplo:

    HREF="MyApp.exe".
    

Em ambos os cenários, o tempo de execução cria um novo domínio do aplicativo no qual executar o executável.Para solicitações subseqüentes para assemblies, o base de aplicativo é definido como o local do executável.

Por exemplo, o código a seguir faz referência myClass:

<object id="myCtl" 
  classid="http://www.mycode.Microsoft.com/mycode.dll#myClass"> 
</object>

Dependentes semblies sistema autônomo estaticamente vinculadas devem estar localizados no mesmo diretório sistema autônomo a chamada sistema autônomo sembly quando a chamada sistema autônomo sembly é especificado usando o <objeto> marca.Por exemplo, se o assembly myAssembly.dll é especificado usando um <objeto > marca e possui uma referência estática myOtherAssembly.dll, e, em seguida, myOtherAssembly.dll devem estar localizados no mesmo diretório que myAssembly.dll.

Observação:

Executáveis implantados pelo Internet Explorer usando um link HREF não devem ser iniciado com argumentos de linha de comando do código gerenciado.Argumentos não são passados com êxito para o executável.

Relatório de Erros

O processo de baixar de código utiliza as seguintes configurações de registro de dois para controle erro relatórios a partir de código executáveis que são implantados usando o Internet Explorer gerenciado.

  • HKLM\Software\Microsoft\.NETFramework\ExposeExceptionsInCOM

  • HKCU\Software\Microsoft\.NETFramework\ExposeExceptionsInCOM

Ambas as configurações, use os seguintes valores para especificar como relatar erros.

Valor

Descrição

1

Informações de erro são enviadas para o fluxo de saída padrão.

2

Informações de erro serão exibidas para o usuário.

3

Informações de erro é tanto enviadas para o fluxo de saída padrão e exibidas para o usuário.

Quando você depurar código gerenciado que você distribui usando o Internet Explorer, você pode usar os valores dessas configurações para encontrar informações detalhadas sobre falhas de baixar de código.Por exemplo, isso permite que você exiba informações de rastreamento de pilha quando exceções são lançadas, em vez disso, de usar o relatório de erros fornecido pelo Internet Explorer, que foi projetado para os usuários finais, não os desenvolvedores.

Controles hospedados no Internet Explorer

Você pode usar o Internet Explorer para controles de host criados usando o .NET estrutura.Controles devem estar contidos em uma biblioteca com uma extensão dll.Para usar o mesmo Windows formulário controlar sistema autônomo sistema autônomo dois independente e hospedado no Internet Explorer, a biblioteca deve ter uma extensão .dll para trabalhar em ambos sistema autônomo casos.

Observação importante:

Controles todas gerenciadas hospedado pelo Internet Explorer use a versão mais recente do Common linguagem tempo de execução instalado no computador.Isso significa que em alguns casos que o controle pode não ser executado com a versão foi criado e o controle pode não estar sendo executado sob a mesma diretiva de segurança sistema autônomo o pretendido originalmente.Antes de executar um controle gerenciado em uma nova versão do common linguagem runtime, a diretiva de segurança deve ser atualizada para a nova versão de tempo de execução.Isso se aplica a qualquer zona de segurança, mas não se aplica a baixado executáveis gerenciado.

Observação:

Ao carregar um controle gerenciado, o comprimento máximo do valor para o classidatributo do <objeto > elemento é de 256 caracteres (MAX_PATH).Se o comprimento for maior que o máximo, o controle não é carregado, mas nenhum erro será gerado.Por exemplo, a seguinte classid o valor do atributo é um comprimento aceitável:

<object id="myCtl" classid="http://www.example.com/mycode.dll#myClass">

Observação:

Por motivos de segurança gerenciado controles usando o < objeto > não há suporte para protocolo de acesso a marca e o arquivo em uma página HTML.Por exemplo, o seguinte <objeto > não há suporte para a marca:

<OBJECT classid="file:///c:/control.dll#control">

Localizar assemblies dependentes

O processo que usa o tempo de execução para localizar assemblies dependentes para aplicativos baseados na Web é semelhante ao processo que ele usa para aplicativos com base na Web.O tempo de execução procura por particular assemblies dependentes usando um caminho relativo para o ApplicationBase.O tempo de execução usa uma combinação do ApplicationBase, the <private_binpath > marca em um arquivo de configuração e pesquisa de regras para localizar os conjuntos privados.O tempo de execução também verifica a URL onde o assembly de chamada está localizado para verificar se há assemblies dependentes.

Assinatura de código gerenciado com uma assinatura de Authenticode da Microsoft

Você pode usar o Arquivo (Signcode.exe) ferramenta de assinatura para assinar um arquivo com uma assinatura digital Authenticode.Observe que se você deseja assinar um arquivo com um nome forte e uma assinatura digital Authenticode você deve atribuir o nome de alta segurança primeiro.Atribuindo a assinatura Authenticode primeiro quebra o nome forte.Para obter mais informações sobre assinatura de arquivo, consulte Considerações sobre segurança do assembly.Para obter informações sobre assinatura de arquivo usando Visual Studio 2005, consulte "Assinatura de implantação e Authenticode" no Visual Studio 2005 documentação. Para obter mais informações sobre a tecnologia de assinatura Authenticode, consulte "Introdução à assinatura de código" na documentação do plataforma SDK.

Consulte também

Conceitos

Cenários de implantação de aplicativos do .NET estrutura

Considerações Sobre Segurança do Assembly

Como o Runtime Localiza Assemblies

Referência

Arquivo Autenticando ferramenta (Signcode.exe)