Pesquisar este blog

quarta-feira, 15 de outubro de 2008

Corrigindo o métodos no Windows XP e Windows Vista


Microsoft Corporation
Atualizado junho 2007
Resumo: Saiba os melhores métodos para remendar jogos em execução no Windows XP ou Windows Vista.
Sumário Introdução Windows Vista User Account Control Jogos que só precisam de patch ocasionalmente Jogos que muitas vezes precisam de patch Introdução O Windows Vista introduz um conjunto de funcionalidades para tornar o sistema operacional mais seguro. O que significa patch de segurança adicionado não é tão simples como em plataformas anteriores.
Este artigo vai dar uma olhada em alguns métodos de patch que vai funcionar bem no Windows Vista e do Windows XP. Existem duas categorias principais: Aplicações que necessitam ocasionais, como a maioria dos patches jogos offline. Aplicações que necessitam muitas vezes como a maioria dos patches de jogos on-line. Este artigo também dará uma breve introdução ao Windows Vista User Account Control (UAC) para servir de fundo sobre o que há privilégios jogo desenvolvedores podem esperar para que os usuários do Windows Vista. Windows Vista User Account Control O Windows Vista tem dois tipos de contas de usuário primário: Standard usuário, e administradora.
A Norma conta do usuário tem várias restrições de acesso, como ele não pode escrever para Program Files ou escreva para HKLM no registro. Isto tem implicações sobre como fazer o patch de um jogo se ele está instalado em uma pasta somente leitura. Ao contrário do Windows XP, a conta do usuário padrão será muito mais comum no Windows Vista. A Norma tipo de conta do usuário também é necessário para funções importantes como os controlos parentais. Controles parental no Windows Vista exige que a criança conta a Norma usuário, e elevando a conta de administrador para um jogo impede os controlos parentais de trabalhar com todos os outros jogos tão importante para os jogos a serem concebidos para Usuário Padrão. O Windows Vista muda o modelo tradicional privilégio para ajudar a impedir os utilizadores de executar programas que tentam executar operações que o usuário não tem a intenção ou autorizei. Para o efeito, User Account Control (anteriormente denominado Least-User Account privilegiado ou LUA) permite aos usuários executar a baixa privilégio a maior parte do tempo, embora sejam capazes de executar aplicativos que exigem mais facilmente privilégio que for necessário. Isto significa que Norma Contas de usuário e contas Administrador tanto executar aplicativos com privilégios do usuário padrão, mas somente Administrador contas têm a capacidade de conceder privilégios elevados aplicações.
O sistema operacional irá pedir os utilizadores com contas de administrador consentimento explícito antes de executar um aplicativo com privilégios elevados, e se um programa que requer direitos administrador é executado em uma conta do usuário padrão, o sistema irá pedir a aprovação administrador. Jogos que só precisam de patch ocasionalmente Alguns jogos exigem apenas algumas manchas jogos em todo o ciclo de vida. Dois métodos que os desenvolvedores podem empregar para essa freqüência de patches são discutidas abaixo. Convém notar que, independentemente de saber se um jogo exige freqüente corrigir ou não, vai aplicativos normalmente requerem privilégios de administrador para serem instalados ou desinstalados.

Método 1: Utilizar o Windows Installer para o patch ocasional Neste método, o Windows Installer seria usada para instalar o pacote (. Msi) e um patch do Windows Installer (. Msp) seriam distribuídos para instalar patches. O pacote deve ter uma tabela MsiPatchCertificate eo patch deve ser assinado digitalmente por um certificado em cima da mesa. Mais informações sobre a assinatura digital pode ser encontrado na assinatura Authenticode para Game Developers.
Mais informações e requisitos para usar este método patch pode ser encontrada na documentação do Windows Installer: O Windows Installer: Roteamento e Atualizações O Windows Installer: menos privilegiadas conta de utilizador (LUA) remendar A desvantagem deste método é que o jogo não foi instalado a partir de uma mídia removível no Windows XP, então patch vai exigir privilégios Administrador, mas este não deve ser tão restritiva que a maioria dos usuários ainda são administradores no Windows XP. A mídia removível restrição não está presente no Windows Vista. A principal vantagem deste método é que patches podem ser aplicados com apenas um padrão do usuário sem exigir qualquer elevação rápida. Isso proporciona uma melhor experiência do usuário porque a conta do usuário padrão não tem de pedir um administrador para instalar o patch ou solicitação permanente Administrador privilégios para executar o jogo. É possível que este método pode funcionar em situações em que a necessidade freqüente remendos, mas a sobrecarga de instalação do Windows utilizando patches arquivos em termos de integração e de apoio construir um grande número de arquivos pode tornar este método menos desejável do que outros.

Método 2: exigir privilégios de administrador para patch Isto é bastante simples. O patch executável simplesmente requer privilégios de administrador para serem executados. Com privilégios de administrador, o patch pode modificar diretamente o jogo arquivos localizados em Arquivos de Programas. A vantagem deste método é a sua simplicidade. No entanto, este método não é adequado, se o jogo precisa freqüentes patch porque se alguém com uma conta do usuário Standard queria jogar um jogo que exigiu freqüentes patch, tais como um MMO, em seguida, o usuário tem duas opções: Ser incomodados pelo administrador para obter um login e patch do jogo para eles. Têm a sua conta permanentemente elevados com privilégios de administrador. Se eles fizeram a última, tal não apenas enfraquecer a segurança do sistema como um todo, mas isso importantes características como evitar os controlos parentais de trabalho. Também quando da execução deste método, o patch executável deve ser diferente do jogo executável. O patch executável deve ser marcada com um manifesto de RunLevel tag requiresAdministrator a denotar-la como uma aplicação que exige administrar privilégios. Mais informações sobre como fazer isto podem ser encontradas em Developer Best Practices and Guidelines for Applications em um ambiente menos privilegiado, no "Manifesto do Projeto Aplicativo" deste artigo. Globalmente, método 1 é preferível para os jogos que necessitam apenas alguns remendos ao longo do seu ciclo de vida. Jogos que muitas vezes precisam de patch Muitos jogos on-line estão a ser continuamente melhorado e, normalmente, requerem regular patch. Para estes jogos, na sequência Método
Método 3 ou 4 pode ser mais adequada.

Método 3: Instalar por usuário Uma abordagem recomendada e é fácil de instalar todo o jogo por utilizador para um diretório em SHGetFolderPath CSIDL_LOCAL_APPDATA. Esta Norma permite que uma aplicação do usuário diretamente para os arquivos do patch do jogo. A principal desvantagem para esta abordagem é, no entanto, quando múltiplos usuários estão utilizando a mesma máquina. Esta abordagem significa que cada usuário tem uma cópia do jogo instalado, patches e terão de voltar a ser baixado por usuário. Isto irá não só os resíduos do utilizador tempo e espaço do disco rígido, mas também aumentará a largura de banda e servidor patch porque qualquer aplicação com privilégios de usuário padrão pode modificar o jogo, ele também não protege tão bem o jogo executáveis. Cabe à empresa o jogo para decidir se este é ou não aceitável.

Método 4: Instalar em uma máquina comum por localização Outro método consiste em instalar apenas os não-executável para um jogo de dados do subdiretório SHGetFolderPath CSIDL_COMMON_APPDATA. Este é um local compartilhado para todos os utilizadores e pode ser modificado pelo usuário Standard aplicações. Este método minimiza a necessidade de re-patch grandes arquivos se o jogo é jogado por mais de uma conta. Recomenda-se que o jogo executáveis são mantidos nos Arquivos de Programas minimizar o risco para outras contas no sistema. Os executáveis devem verificar a integridade do conteúdo novo patch no diretório compartilhado desde que possa ser modificado por qualquer usuário Standard pedido. Considere a utilização MapFileAndCheckSum para calcular um checksum de um arquivo. Este método tem a vantagem de trabalhar igualmente bem tanto em Windows XP e Windows Vista, e não requer privilégios Administrar. Outras Possibilidades Fora dos métodos listados acima, outra possibilidade é a de alterar a ACL do diretório Arquivos de programas ao instalar o jogo para que um patch ferramenta quando executado como padrão do usuário pode escrever diretamente para os arquivos do jogo. Enquanto isto não é difícil, ele faz a burlar a proteção da segurança que o sistema oferece para o jogo de ficheiros e permite que programas mal-intencionados para alterar o conteúdo do diretório. Esta não é aconselhável, e é fortemente recomendado que uma alternativa seja utilizada em seu lugar. Uma última possibilidade é a de escrever um serviço personalizado. Escrever um serviço personalizado para patch jogos em geral não é uma boa idéia, pois é complicado e propenso erro. Recomenda-se que o patch ser feito usando outros métodos mencionados neste artigo. No entanto, um serviço personalizado poderá ser necessária quando combinada com anti-batota ou soluções anti-pirataria. Este serviço deverá apoiar um grande número de jogos, e ser concebida de modo que ela só pode transferir os ficheiros actualizados e escrever apenas para os jogos diretório da instalação. É importante que o serviço é leve, tem uma superfície mínima, e utiliza como poucos recursos do sistema que possível, quando o jogo não estiver sendo executado. Resumo Em última instância cabe ao dono da obra para decidir qual o método a aplicar. Os desenvolvedores terão de ponderar os factores que são mais importantes do que outros. Segurança, a freqüência de patch release, facilidade de uso pelo cliente, a carga necessária para implementar, a complexidade da solução, eo recurso a plataforma são os fatores que cada desenvolvedor tem que considerar antes de decidir sobre um determinado método. Mais informações sobre proteção na conta de utilizador do Windows Vista pode ser encontrado na biblioteca MSDN artigo Developer
Fonte: http://msdn.microsoft.com/pt-br/library/bb530199(en-us).aspx

Nenhum comentário: