Como usar controles DirectInput em jogos XInput

Índice

  1. Introdução
  2. Antes de tudo
    1. Direcionais, Feedback, triggers LT/RT (Invert, Half, Dead Zone) e Exclusividade
    2. Instalação do driver de controle genérico
    3. Descobrindo se o jogo é 32 ou 64-bits
    4. Descobrindo o diretório de instalação do jogo
  3. x360ce
    1. Configurando o x360ce
  4. XOutput
    1. Instalando o XOutput
    2. Configurando o XOutput
  5. XInput Plus
    1. Instalando o XInput Plus
    2. Configurando o XInput Plus
  6. vJoy e UJR
    1. Instalação do vJoy
    2. Configuração do vJoy
    3. Instalação do UJR
    4. Configuração do UJR
  7. Antimicro
  8. Extras
    1. DirectInput Blocker/Spoffer
    2. Joy2Key
    3. xbox360cemu
    4. Pinnacle Game Profiler
    5. MediaProperties

Continuar lendo “Como usar controles DirectInput em jogos XInput”

Anúncios

Como remover imagens personalizadas da tela de bloqueio e da conta de usuário do Windows 8/10

Ao realizar a venda de um tablet híbrido da Positivo com Windows 8, precisava remover arquivos e configurações pessoais do computador, como a imagem da tela de bloqueio e da conta de usuário; porém, o Windows não permite remover a lista de imagens selecionadas recentemente, tanto na tela de bloqueio quanto nas configurações da conta de usuário.

Para removermos imagens personalizadas da tela de bloqueio e da conta de usuário, precisamos removê-las manualmente do sistema.  Para removê-las, você precisará usar um programa chamado Unlocker (ele permite remover arquivos protegidos do sistema). Ao instalá-lo, cuidado para desmarcar a opção da Delta toolbar. Após instalá-lo, localize a imagem que você deseja excluir, dê botão direito e selecione a opção Unlocker.

Tela de bloqueio

windows-8-lockscreen-weather

Tela de bloqueio

No Windows 8, 8.1 e 10 existem duas telas de bloqueio. (4)

  • A tela de bloqueio do usuário é exibida quando o usuário bloqueia o PC enquanto está logado no Windows, ou quando o usuário é selecionado na tela de logon, o tempo expira, e o PC retorna para a tela de bloqueio. Cada usuário pode alterar seu plano de fundo para uma imagem de sua escolha.
  • A imagem da tela de bloqueio padrão é aquela exibida quando não há nenhum usuário logado ou selecionado atualmente no Windows.

Se você estiver usando uma conta Microsoft e possuí a configuração Configurações habilitada para sincronização, então a imagem de plano de fundo da tela de bloqueio também será exibida em qualquer PC que você entrar com a mesma conta Microsoft. (4)

Para excluir imagens customizadas da tela de bloqueio adicionadas em “Configurações do PC > PC e Dispositivos > Tela de bloqueio” para exibir somente as imagens padrões da tela de bloqueio, delete as imagens de plano de fundo usadas pela tela de bloqueio no diretório abaixo. (4)

C:\ProgramData\Microsoft\Windows\SystemData\S-1-5-21...\ReadOnly\LockScreen_(letter)

Este local é apenas um diretório temporário para exibir imagens da tela de bloqueio que você utilizou no passado. As imagens desta localização muda constantemente a medida que você altera a imagem da tela de bloqueio usando novas imagens no seu computador. (4)

As imagens padrões da tela de bloqueio podem ser encontradas no diretório Screen abaixo. (4)

C:\Windows\Web\Screen

Imagem da conta de usuário

Após você alterar sua imagem da conta (avatar) no Windows 8/10, a imagem exibida por padrão não aparecerá na lista de imagens. Para restaurar a imagem da conta padrão no Windows 8/10, você precisará realizar os passos abaixo (2):

  1. Abra as Configurações do PC
  2. Vá para Contas > Sua conta.
  3. Clique no botão Selecionar abaixo da sua imagem da conta atual.
    windows-10-user-picture-browse-button-600x492
  4. Na caixa de diálogo Abrir que aparecerá na tela, digite a seguinte localização na barra de endereços:
    C:\ProgramData\Microsoft\User Account Pictures

    Então pressione a tecla Enter windows-10-programdata-address-bar-600x491

  5. Você poderá selecionar a imagem padrão de usuários:
    windows-10-default-avatar-600x494
    windows-10-default-avatar-2-600x492
  6. A imagem de usuário atual é armazenada no diretório oculto abaixo. (3)
    C:\Users\Public\Public Account Pictures\S-1-5-21.......(GUID for user account)
  7. As imagens de conta de usuários recentes usadas para sua conta de usuário são armazenadas no diretório oculto abaixo. (3)
    C:\Users\(user-name)\AppData\Roaming\Microsoft\Windows\AccountPictures

Referências

  1. How to delete Screen Lock custom photos in windows 8. Microsoft Community.
  2. How to restore the default user picture avatar in Windows 10. Winaero.
  3. How do I remove custom images from Windows 8 lock screen. Microsoft Community.
  4. Lock Screen – Background Image – Change in Windows 8. Windows Eight Forums.

Corel VideoStudio X8: “Esta página não pode ser exibida” durante a instalação.

Ao adquirir um notebook com processador Intel Core i3 com 4 GB de RAM (HP ProBook 4430s), ao usar o Corel VideoStudio X9, ele apresentava problemas de lentidão no Windows 7 (porém, no Windows 8.1, ele não apresentava problemas de lentidão, mas outros motivos – como o alto uso de CPU devido ao antivírus e outros processos do sistema – me fizeram voltar para o Windows 7). Por isso, decidi voltar a usar a versão X8. Porém, para a minha surpresa, após informar o serial durante a instalação, exibia a mensagem “Esta página não pode ser exibida“, como ocorre no Internet Explorer quando ele não pôde localizar uma página na internet (a Corel utiliza uma interface gráfica Web que utiliza a engine do Internet Explorer para o instalador dos seus produtos, como o CorelDRAW e Corel VideoStudio).

Decidi investigar o problema, e para isso, usei o Process Monitor da Sysinternals para investigar o processo de instalação do Corel VideoStudio (Setup.exe), e descobri que após informar o serial, ele tentava carregar o arquivo Corel VideoStudio Pro X8 Setup Files\Lang\EN\Custom\SNWait.htm (Corel VideoStudio Pro X8 Setup Files é o local onde você extraiu os arquivos de instalação do Corel VideoStudio X8, normalmente em C:\Program Files (x86)\Corel); porém este arquivo não existia nos arquivos de instalação do VideoStudio X8 (cheguei a extrair duas vezes o arquivo pensando que o arquivo de instalação poderia estar corrompido, tentei inclusive obtê-lo da versão 32-bit do VideoStudio, porém este arquivo também não existe nesta versão).

Pude encontrá-lo na versão X9 do Corel VideoStudio, e ao copiá-lo para o diretório Corel VideoStudio Pro X8 Setup Files\Lang\EN\Custom a instalação pôde prosseguir após informar o serial, exibindo uma barra de progresso enquanto validava o serial com os servidores da Corel. Porém, uma nova mensagem de erro aparecia, com a mensagem “Unable to validate serial number. An internet connection is required to complete the installation“, porém o computador estava conectado a Internet e o serial estava correto. Provavelmente esta mensagem de erro ocorre devido ao arquivo ter sido extraído de uma nova versão do VideoStudio (da versão X9) ou devido a Corel ter desabilitado os servidores que realizavam a validação do serial da versão X8 do VideoStudio.

Abrindo o arquivo SNWait.htm para edição usando o Bloco de notas, pude encontrar a função que realizava a validação do serial e comentá-las (comentar uma linha de código significa fazê-la deixar de ser executada, ou seja, uma forma de instruir o computador a não executar uma instrução/código. Comentários normalmente são utilizados por desenvolvedores para documentar partes do código, ou para desativá-las, devido ao fato do computador ignorá-las completamente) para que a validação sempre ocorre-se com sucesso e o instalador pude-se continuar.

Você pode copiar o conteúdo abaixo para o Bloco de notas e salvar o arquivo como SNWait.htm no diretório Corel VideoStudio Pro X8 Setup Files\Lang\EN\Custom.


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns:ICA="ICA" xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Setup Wizard</title>
<link href="NewStyle.css" rel="stylesheet" type="text/css">

<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<meta content="text/html" name="ICADlg" id="ICADlg"
ICA:DlgHW="600,800"
ICA:DlgFrame="0"
ICA:TransparencyColorRBG="51,52,53"
ICA:ShadowGraphic="Images\Shadow.png"
ICA:ShadowGraphicOffsetLeft="0"
ICA:ShadowGraphicOffsetTop="0"
ICA:ShadowGraphicTransparency="255"

>
<script language="jscript" type="text/jscript" src="js\Progress.js"></script>
<script language="jscript" type="text/jscript">

function BodyLoad()
{
OnPBLightIt();
OnPBStartIndeterminate();

window.setTimeout(CheckIt, 30);
}

function BodyUnLoad()
{
OnPBEndIt();
}

function CheckIt()
{
var iResult = window.external.ExecuteFN("Activate");
//if (0 == iResult)
//{
window.location = "Settings.htm";
//}
//else
//{
// window.external.EndModalLoop(iResult);
//}
}

</script>

</head>

<body onload="BodyLoad()" onunload="BodyUnLoad()">

<!-- background -->
<div id="idBackGrd" class="WindowSize">

<!-- img alt="" class="CloseBtn" src="Images/close.gif" ICA:Function="ICACancelSetup" / -->

<!-- ------------------------------------------------------------ -->
<!-- page content panel -->
<div id="idPanel">

<p class="DlgHeaderTitles">
Validating your serial number
</p>
<p class="DlgBlock">
Please wait...
</p>


<div id="idProgressOuter" class="ProgressOuter" style="width: 710px;">
<div id="idProgressInner" class="ProgressInner"></div>
</div>

</div> <!-- div id="idPanel" END -->
<!-- <div> Wizard Buttons (at bottom of dialog) - START -->
<div class="DlgWizardBtns">
<table>
<tr>
<td>
</td>
<td>
</td>
<td>
<button accesskey="C" type="button" ICA:Function="ICACancelSetup" ID="idCancel"><u>C</u>ancel</button>
</td>
</tr>
</table>
</div>
<!-- <div class="DlgBlock"> Wizard Buttons (at bottom of dialog) - END -->

</div>

</body>

</html>

As linhas que foram comentadas estão destacadas acima (linhas 38, 39 e 42 à 46). Note que o resultado da validação é ignorado e o instalador automaticamente carrega a página Settings.htm (que permite configurar o diretório de instalação e o padrão de vídeo [PALM/NTSC]). Ter de realizar este procedimento manualmente (copiar o arquivo SNWait.htm e comentar a função de validação do serial) foi estranho para mim, devido ao utilizar o mesmo instalador e não ter necessitado realizar tais procedimentos no passado. De qualquer forma, fica minha contribuição para todos que estão enfrentando este problema ao instalar uma versão anterior do VideoStudio nos seus computadores.

Migrando o Active Directory para uma nova versão do Windows Server

  1. INTRODUÇÃO
  2. MIGRANDO O ACTIVE DIRECTORY
    1. ADPREP
    2. PREPARANDO A FLORESTA
    3. PREPARANDO O DOMÍNIO
    4. ADICIONANDO O NOVO DC
    5. SUBSTITUINDO O MESTRE DE OPERAÇÕES (FSMO)
      1. Mestre de Esquema
      2. Mestre de Nomeação de Domínios
      3. Mestre RID, PDC e Infra-estrutura
    6. SUBSTITUINDO O SERVIDOR DE TEMPO
    7. MIGRANDO O SERVIÇO DE CERTIFICADOS
    8. REPLICAÇÃO DOS DIRETÓRIOS SYSVOL E NETLOGON
      1. FRS
      2. DFS
    9. DESPROMOVENDO O ANTIGO CONTROLADOR DE DOMÍNIO (OPCIONAL)
  3. MIGRANDO O SERVIÇO DHCP
  4. CONCLUSÃO

Introdução

Em um ataque recente a uma vulnerabilidade ao protocolo RDP, os servidores de área de trabalho remota de uma das empresas na qual prestava suporte foram infectados com um ransomware. O antivírus Sophos não detectou a ameaça, possibilitando a criptografia dos arquivos do sistema. Tivemos de restaurar o sistema de um backup anterior.

Porém, aproveitando o tempo inesperado de manutenção, decidimos migrar a estrutura Active Directory do Server 2003 para Server 2008 R2, aumentando a segurança da rede (O Server 2003 não possuí suporte e atualizações da Microsoft desde Julho de 2015).

Continuar lendo “Migrando o Active Directory para uma nova versão do Windows Server”

Autenticação em nível de rede

Recentemente há uma grande atenção dada ao Remote Desktop Protocol (RDP) devido a ataques. Em 2011, o protocolo permitiu a infecção de outros computadores devido a ataques de força bruta nas senhas do RDP. O Ransomware, identificado pela Kaspersky como Trojan-Ransom.Win32.Agent.hxf, compacta os arquivos com o WinRAR, usando criptografia AES. Infelizmente não é possível recuperar os arquivos criptografados por essa versão da praga.

Em 2012, foi encontrado uma vulnerabilidade no protocolo, permitindo a execução de código remota quando uma sequência específica de pacotes RDP são enviados para o servidor afetado.

No Windows Server 2003, ao iniciar uma sessão remota, o Cliente da Área de trabalho remota (mstsc) redireciona para a tela de logon do servidor:

rdp

Conexão da área de trabalho no Server 2003

Iniciar uma sessão — até mesmo apresentar uma tela de logon — requer que o servidor crie muitos dos processos necessários para oferecer suporte a uma sessão, tais como o csrss.exe e winlogon.exe. Por causa disto, a criação de uma sessão é relativamente demorada e cara, além de expor o servidor a exploits e ataques de negação de serviço (DoS) – se um número grande de usuários não autorizados se conectarem ao servidor ao mesmo tempo com credenciais de login falsas, elas podem causar um ataque de negação de serviço (DoS), impedindo o acesso de usuários legítimos ao servidor (GRIFFIN, 2012).

Com o lançamento do Windows Vista e Windows Server 2008, a Microsoft introduziu a Autenticação em nível de rede (NLA). Ao realizar uma conexão remota a um servidor com Windows Server 2008 com NLA habilitado, o Cliente da Área de trabalho exibe uma caixa de diálogo local para levar suas credenciais ANTES de conectar-se ao servidor. Esta caixa de diálogo é o front-end do CredSSP. (PEREZ, 2012)

rdp-xp-nla

Conexão da área de trabalho com NLA

O CredSSP estabelece um canal encriptado entre o cliente e o servidor de destino usando TLS para validação de identidade. O protocolo CredSSP utiliza as extensões de protocolo SPNEGO para negociar um mecanismo GSS (NTLM, Kerberos ou Autenticação PKI para cartões inteligentes) que criptografa as credenciais enviadas ao servidor de destino e realiza a autenticação mútua, garantindo a confidencialidade devido ao uso de um canal TLS seguro para envio de credenciais ao servidor de destino. (PEREZ, 2012) Uma das vantagens que o CredSSP oferece é a redução do número de logons que um usuário precisa fazer ao adicionar suporte a SSO (Single Sign-On) a Sessões da área de trabalho remota. (GRIFFIN, 2012)

Como nenhum pacote chega ao serviço RDP até a negociação da conexão via CredSSP, o NLA protege os servidores de ataques de negação de serviço (DoS) e exploits.

O NLA foi introduzido inicialmente com o RDP 6.0 no Windows Vista e posteriormente no XP SP3.

Configurando a Autenticação em nível de rede no RDP

Para habilitar o NLA via Diretiva de grupo, habilite a seguinte diretiva na OU do Servidor de Terminal: Configuração do computador/Políticas/Modelos administrativos/Componentes do Windows/Serviços de área de trabalho remota/Host de sessão de área de trabalho remota/Segurança/Exigir autenticação de usuário para conexões remotas usando autenticação no nível da rede

windows-live-writer-configuring-y_948b

E agora nós temos uma GPO que pode ser vinculada a qualquer Domínio ou Unidade Organizacional da floresta. Após aplicada, quando uma conexão é realizada nós podemos verificar o mecanismo de segurança em uso clicando com botão direito no topo da Sessão da área de trabalho remota no Windows para exibir o modo como nossa identidade foi autenticada:

windows-live-writer-configuring-y_948b

Nos servidores que possuem a política a única opção disponível é o uso de NLA:

windows-live-writer-configuring-y_948b

Windows XP e NLA

O Windows XP SP3 oferece suporte CredSSP, mas ele não está habilitado por padrão. É necessário instalar o Internet Explorer 8, uma atualização para o RDP e aplicar um Fix It (KB951608) para habilitar o CredSSP. Infelizmente, o Fix It não está mais disponível no site da Microsoft, mas consegui encontrá-lo na internet e realizei o upload do mesmo para minha conta no MediaFire:

  1. Internet Explorer 8 para Windows XP
  2. Atualização do Cliente de Conexão de Área de trabalho remota (RDP 7.0) para Windows XP (PT-BR) (KB969084)
  3. Microsoft Fix It 50588 (KB951608)

Após a instalação da atualização e do Fix It, é necessário reiniciar o computador para aplicar as alterações.

Referências

GRIFF, Kristin. Windows Server 2008 R2: Por que usar a autenticação no nível da rede? Microsoft TechNet. 2012.

PEREZ, Carlos. Configuring Network Level Authentication for RDP. Dark Operator. 2012.

SpiceWorks. 2013. Enable Network Level Authentication (NLA) in Windows XP.

Características técnicas e recarga de cartuchos de jato de tinta

Características técnicas

Um cartucho de tinta é composto de um container de suprimento de tinta que é descarregada na cabeça responsável pela impressão e uma tampa selando o container para que ele possa ter contato com o ar. Um dispositivo de memória semicondutora armazena informação relacionada a tinta está presente na superfície do container sendo revestido por um filme removível. (MATSUZAKI, 2002).

A qualidade de impressão é determinada pela resolução da cabeça de impressão, na qual depende da viscosidade da tinta (MATSUZAKI, 2002).

A comunicação entre o chip semicondutor de memória e a impressora é realizada através do contato entre eletrodos e o grupo de contatos. Porém, o chip semicondutor de memória é montado em um estado no qual é mantido sempre exposto, causando problemas quando o usuário vier a tocar o chip semicondutor de memória com os dedos, podendo quebrá-lo ou perdê-lo devido a eletricidade estática ou outros fatores. Quando este evento acontece, a impressora torna-se incapaz de ler a informação armazenada no chip semicondutor de memória para a correta realização da impressão (MATSUZAKI, 2002).

Realização da recarga

Uma despesa significativa associada com a operação de impressoras de jato de tinta é o custo de substituição de cartuchos de tinta quando esgotada a carga do cartucho. Durante o ciclo de vida da impressora, este custo pode ser substancial. Os componentes estruturais do cartucho de jato de tinta, porém, são razoavelmente duráveis e capazes de durar além da carga do cartucho. Como resultado, descartar um cartucho de tinta simplesmente porque a tinta esgotou é uma prática cara e desnecessária (GOLDMAN, 1993). A Ecorica vende cartuchos de tinta remanufaturados com preço de mercado entre 20% e 30% menor em relação a cartuchos novos. (MATSUMOTO, 2011).

O uso de um cartucho de tinta de cor única (ex. preto) para uso em impressão de documentos gerados por computador é hoje uma prática padrão. Por exemplo, a Hewlett-Packard comercializa cartuchos de jato de tinta #51608A para uso em impressoras Hewlett-Packard Desk Jet, Deskwriter e impressoras similares. O cartucho de jato de tinta tem sido fornecido pela Hewlett-Packard como descartável (não-recarregável). Porém, é conhecido há anos que estes cartuchos podem ser recarregados ao inserir uma seringa com tinta na abertura de ar no topo do cartucho com tinta suficiente para saturar a espuma dentro do cartucho (ONTAWAR, 1994). Um problema com esta prática, porém, é devido às aberturas de ar serem construídas somente para permitir a passagem de ar no cartucho enquanto a tinta é pulverizada, não sendo particularmente adequadas para aplicar tinta ao cartucho. (GOLDMAN, 1993).

Recentemente, a Hewlett-Packard introduziu um cartucho de jato de tinta descartável e não-recarregável (#51626A). O aumento da capacidade de tinta do novo cartucho foi acompanhada com a venda da abertura de ar tapada com uma fita plástica, que pode ser encontrada em um dos quatro lados da superfície do cartucho. Ao mesmo tempo que infla as aberturas de ar, elas não permitem acesso direto ao reservatório de tinta, que foi realocado dentro do cartucho de tinta, diminuindo a pressão de ar na câmara sob o líquido de tinta, prevenindo o gotejamento de tinta nos orifícios abaixo do cartucho (ONTAWAR, 1994).

REFERÊNCIAS

GOLDMAN, Barry M. Method and apparatus for refilling ink cartridges. US Pat. 5,199,470, 05 abr. 1993, 10p. Disponível em: https://www.google.com/patents/US5199470 Acesso em: 02 dez. 2016.

MATSUMOTO, Mitsutaka; UMEDA, Yasushi. Journal of Remanufacturing. 2011. Disponível em: http://journalofremanufacturing.springeropen.com/articles/10.1186/2210-4690-1-2 Acesso em: 02 dez. 2016.

MATSUZAKI, Makoto; SHINADA, Satoshi. Ink cartridge for ink-jet printing apparatus. US Pat. 6,416,152 B1, 09 jul. 2002, 18p. Disponível em: https://www.google.com/patents/US6416152 Acesso em: 02 dez. 2016.

ONTAWAR, Susan P.; KEEN, Fred. User refillable ink jet cartridge and method for making said cartridge. US Pat. 5,329,294, 12 jul. 1994, 11p. Disponível em: https://www.google.com/patents/US5329294 Acesso em: 02 dez. 2016.

A instalação do .NET 3.5 (NetFx3) falha com o Erro 3017 e HRESULT 80070BC9

O Erro 3017 é uma mensagem de erro genérica da Microsoft para “não foi nós mas alguma coisa travou”… [1]

Pode ser uma falha no acesso ao local que você está usando como source. O antivírus pode estar impedindo a instalação dos arquivos. Você pode tentar desabilitá-lo e tentar novamente.

O log abaixo (C:\Windows\Logs\DISM\dism.log) indica que o DISM falhou ao carregar os arquivos do sistema necessários para adicionar componentes opcionais ao sistema. Você pode tentar reparar a Component Store do Windows usando o SFC e CheckSUR/RestoreHealth. Você pode ainda realizar testes no disco rígido e na memória RAM para certificar-se que o computador encontra-se em bom estado.

2013-04-08 23:40:17, Error                 DISM   DISM Package Manager: PID=3756 TID=3768 Failed finalizing changes. - CDISMPackageManager::Internal_Finalize(hr:0x80070bc9)
2013-04-08 23:40:17, Error                 DISM   DISM Package Manager: PID=3756 TID=3768 Failed processing package changes with session options - CDISMPackageManager::ProcessChangesWithOptions(hr:0x80070bc9)
2013-04-08 23:40:17, Error                 DISM   DISM Package Manager: PID=3756 TID=3768 Failed ProcessChanges. - CPackageManagerCLIHandler::Private_ProcessFeatureChange(hr:0x80070bc9)
2013-04-08 23:40:17, Error                 DISM   DISM Package Manager: PID=3756 TID=3768 Failed while processing command enable-feature. - CPackageManagerCLIHandler::ExecuteCmdLine(hr:0x80070bc9)
2013-04-08 23:40:17, Error                 DISM   DISM.EXE: DISM Package Manager processed the command line but failed. HRESULT=80070BC9
2013-04-08 23:38:10, Warning               DISM   DISM Provider Store: PID=3160 TID=3172 Failed to Load the provider: C:\Windows\TEMP\505F54F1-4977-4233-835C-8B6DA83BCAEB\PEProvider.dll. - CDISMProviderStore::Internal_GetProvider(hr:0x8007007e)
2013-04-08 23:39:23, Warning               DISM   DISM Provider Store: PID=3756 TID=3768 Failed to Load the provider: C:\Users\ADMINI~1\AppData\Local\Temp\2\F1B7A223-F380-4F42-84BF-396D374EE80B\PEProvider.dll. - CDISMProviderStore::Internal_GetProvider(hr:0x8007007e)
2013-04-08 23:39:23, Warning               DISM   DISM Provider Store: PID=3756 TID=3768 Failed to Load the provider: C:\Users\ADMINI~1\AppData\Local\Temp\2\F1B7A223-F380-4F42-84BF-396D374EE80B\IBSProvider.dll. - CDISMProviderStore::Internal_GetProvider(hr:0x8007007e)
2013-04-08 23:39:23, Warning               DISM   DISM Provider Store: PID=3756 TID=3768 Failed to get the IDismObject Interface - CDISMProviderStore::Internal_LoadProvider(hr:0x80004002)
2013-04-08 23:39:23, Warning               DISM   DISM Provider Store: PID=3756 TID=3768 Failed to Load the provider: C:\Users\ADMINI~1\AppData\Local\Temp\2\F1B7A223-F380-4F42-84BF-396D374EE80B\Wow64provider.dll. - CDISMProviderStore::Internal_GetProvider(hr:0x80004002)
2013-04-08 23:39:23, Warning               DISM   DISM Provider Store: PID=3756 TID=3768 Failed to Load the provider: C:\Users\ADMINI~1\AppData\Local\Temp\2\F1B7A223-F380-4F42-84BF-396D374EE80B\EmbeddedProvider.dll. - CDISMProviderStore::Internal_GetProvider(hr:0x8007007e)

Este erro pode estar ainda relacionado a inconsistências no registro do Windows, como podemos ver no log abaixo (C:\Windows\Logs\DISM\dism.log):

DISM Package Manager: PID=2536 TID=352 Error in operation: (null) (CBS HRESULT=0x80070bc9) - CCbsConUIHandler::Error
DISM Package Manager: PID=2536 TID=2292 Failed finalizing changes. - CDISMPackageManager::Internal_Finalize(hr:0x80070bc9)
DISM Package Manager: PID=2536 TID=2292 Failed processing package changes with session options - CDISMPackageManager::ProcessChangesWithOptions(hr:0x80070bc9)
DISM Package Manager: PID=2536 TID=2292 Failed ProcessChanges. - CPackageManagerCLIHandler::Private_ProcessFeatureChange(hr:0x80070bc9)
DISM Package Manager: PID=2536 TID=2292 Failed while processing command enable-feature. - CPackageManagerCLIHandler::ExecuteCmdLine(hr:0x80070bc9)
DISM Package Manager: PID=2536 TID=2292 Further logs for online package and feature related operations can be found at %WINDIR%\logs\CBS\cbs.log - CPackageManagerCLIHandler::ExecuteCmdLine
DISM.EXE: DISM Package Manager processed the command line but failed. HRESULT=80070BC9

O arquivo de log C:\Windows\Logs\CBS\CBS.log mostrava:

Info CSI 000000a7 Begin executing advanced installer phase 34 (0x00000022) index 246 (0x00000000000000f6) (sequence 278)
     Old component: [l:0]""
     New component: [ml:276{138},l:274{137}]"WWF-PerfCnt_ini, Culture=neutral, Version=6.3.9600.16384, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=x86, versionScope=NonSxS"
     Install mode: install
     Installer ID: {d82eedee-854e-4f9a-b458-ae1bc62a0e6b}
     Installer name: [16]"LodCtr Installer"
Info CSI 000000a8 Performing 1 operations; 1 are not lock/unlock and follow:
     (0) LockComponentPath (10): flags: 0 comp: {l:16 b:547843cbc942cf0124030000e4088408} pathid: {l:16 b:547843cbc942cf0125030000e4088408} path: [l:184{92}]"\SystemRoot\WinSxS\x86_wwf-perfcnt_ini_31bf3856ad364e35_6.3.9600.16384_none_086429b116eaedfd" pid: 8e4 starttime: 130396348381515426 (0x01cf42c9b949cea2)
Error CSI 00000002@2014/3/18:16:47:48.324 (F) Logged @2014/3/18:16:47:48.324 : [ml:242{121},l:240{120}]"RegQueryValue_ServiceFirstCounter("SYSTEM\CurrentControlSet\Services","Windows Workflow Foundation 3.0.0.0") fails (2,0)"
[gle=0x80004005]
Error CSI 00000003@2014/3/18:16:47:48.324 (F) Logged @2014/3/18:16:47:48.324 : [ml:354{177},l:352{176}]"Extract actual INI path "C:\Windows\inf\Windows Workflow Foundation 3.0.0.0\PerfCounters.ini" from "C:\Windows\inf\Windows Workflow Foundation 3.0.0.0000\PerfCounters_D.ini"."
[gle=0x80004005]
Error CSI 00000004@2014/3/18:16:47:48.324 (F) Logged @2014/3/18:16:47:48.324 : [ml:354{177},l:352{176}]"Extract actual INI path "C:\Windows\inf\Windows Workflow Foundation 3.0.0.0\PerfCounters.ini" from "C:\Windows\inf\Windows Workflow Foundation 3.0.0.0409\PerfCounters_D.ini"."
[gle=0x80004005]
Error CSI 00000005@2014/3/18:16:47:48.340 (F) CMIADAPTER: Inner Error Message from AI HRESULT = HRESULT_FROM_WIN32(1010)
[
[44]"The configuration registry key is invalid.
"
]
[gle=0x80004005]
Error CSI 00000006@2014/3/18:16:47:48.340 (F) CMIADAPTER: AI failed. HRESULT = HRESULT_FROM_WIN32(1010)

Pesquisando sobre a chave de registro mencionada no erro revelou que ela era relacionada a contadores de performance (Performance Counters).

Contadores de performance podem monitorar recursos do sistema como processador, memória, e atividade de disco e rede (I/O). Quando um desenvolvedor usa contadores de performance no seu aplicativo, eles podem publicar dados relacionados a performance. Contadores de performance estão disponíveis em sistemas Microsoft Windows 2000 e superiores. Eles podem ser visualizados usando o Monitor de performance (perfmon.exe). [3]

Um pouco mais de pesquisa me levaram a ferramenta lodctr.exe [2][4], e executando o comando abaixo em um Prompt de comando como administrador

Microsoft Windows [Version 6.2.9200]
(c) 2012 Microsoft Corporation. All rights reserved.

C:\Windows\system32>lodctr /R

Error: Unable to rebuild performance counter setting from system backup store, error code is 2
C:\Windows\system32>cd ..

C:\Windows>cd syswow64

C:\Windows\SysWOW64>lodctr /R

Info: Successfully rebuilt performance counter setting from system backup store
C:\Windows\SysWOW64>winmgmt.exe /RESYNCPERF

C:\Windows\SysWOW64>

restaurou os contadores de performance.

Mensagens sobre o resultado do comando podem ser obtidas através do Visualizador de eventos do Windows (eventvwr.msc).

No Windows 2000/XP/Server 2003 era necessário reparar os contadores de performance manualmente.

Você pode ainda usar a ferramenta Extensible Counter List (exctrlst.exe) disponível no CD de instalação do Windows XP/Server 2003 no diretório Support para certificar-se que em PerfOS a opção Performance  Counters Enabled está marcada.


REFERÊNCIAS

  1. Error 3017 in Dism /Online /Cleanup-Image /RestoreHealth – Windows Forum – https://windowsforum.com/threads/error-3017-in-dism-online-cleanup-image-restorehealth.188003/
  2. .NET 3.5 (NetFx3) Installation Fails With Error 3017 And HRESULT 80070BC9 on Server 2012 R2 – ManagedUX – https://managedux.com/2014/03/18/net-3-5-netfx3-installation-fails-with-error-3017-and-hresult-80070bc9-on-server-2012-r2/
  3. An Introduction to Performance Counters – Michael Groeger (2005) – CodeProject – http://www.codeproject.com/Articles/8590/An-Introduction-To-Performance-Counters
  4. LODCTR /R Error Code 2 – Microsoft TechNet Office Forums – https://social.technet.microsoft.com/Forums/office/en-US/9b01e1a6-d872-4f28-9280-f35d6ca02a9f/lodctr-r-error-code-2?forum=w7itprogeneral