quinta-feira, 9 de fevereiro de 2012

Alguns problemas com o perfil do Windows em outro volume

Ao contrário do esperado, alguns problemas surgiram com o perfil do Windows 7 na unidade D.

Primeiro o software da Asus Xonar DG, que insiste em colocar os arquivos

C:\Users\<usuario>\AppData\Roaming\ASUS\Xonar DG Audio Center\cmicnfp.ini
C:\Users\<usuario>\AppData\Roaming\ASUS\Xonar DG Audio Center\AsusAudioCenter.dll

na unidade C. Pior, fica moendo o disco com um loop eterno de CreateFile(), LockFile(), QueryStandardInformationFile(), ReadFile(), UnlockFileSingle() e CloseFile() no arquivo AsusAudioCenter.dll; neste post do fórum da Asus tem a mesma reclamação.

Procurei por tudo no registro para mudar o local para a unidade D, mas ao que parece o ASUSAUDIOCENTER.EXE tem o caminho hardcoded no seu código e não usa as variáveis %APPDATA% ou %LOCALAPPDATA% nem fornece um meio de configurar manualmente o caminho. Má programação, Asus, má programação. O que é confirmado pelo fato que instalei o driver depois de ter movido o perfil.

No cmicnfp.ini supostamente as configurações personalizadas do equalizador (e talvez mais coisas) são armazenadas. Havia deletado a pasta C:\Users\Marcos, mas ela foi recriada pelo programa. Não sei se por causa de problemas de permissão, ao salvar uma equalização, o programa recebe "ACCESS DENIED" ao acessar cmicnfp.ini. Com isso, o nome que você dá à equalização se perde entre cada logon, porém a equalização em si fica. O ASUSAUDIOCENTER.EXE salva-a na chave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\0000\Settings. A solução é tirar da inicialização as entradas "Cmaudio8788" (c:\windows\syswow64\cmicnfgp.dll), "Cmaudio8788GX" (c:\windows\syswow64\hsmgr.exe) e "Cmaudio8788GX64" (c:\windows\system\hsmgr64.exe). Removi novamente a pasta C:\Users\Marcos e agora só abro o "Xonar DG Audio Center" quando necessário. Ele só recria a pasta no logon, então resolve o problema.

O segundo problema foi com o PDFCreator, que reclama que sua pasta temporária não existe — pois ele tenta usar a pasta "temp" do perfil, só que no C, que não mais existe.

Na chave HKEY_CURRENT_USER\Software\PDFCreator\Program, o valor "PrinterTemppath" controla a pasta usada por ele. Estava configurada para C:\Users\Marcos\AppData\Temp\PDFCreator\. Acho que a culpa é do Inno Setup usado pelo PDFCreator, pois os desenvolvedores em princípio usaram a variável %TMP% corretamente. Pelo menos é resolvido alterando o valor citado no registro para apontar para a nova unidade do perfil.

Por fim o MediaInfo GUI não funciona de jeito nenhum com o perfil fora do C — não salva as configurações nunca. O quebra-galho é usar a versão CLI.

Relacionado:
Como mover os perfis de usuário para outro local no Windows 7

2 comentários:

  1. Boas, possuo o Windows 8.1, pergunto se posso utilizar este procedimento de troca de partição para a pasta Usuário e se o problema som o PDFCreator ainda persiste. Grao, Marco.

    ResponderExcluir
    Respostas
    1. Não sei. Não uso mais essa configuração.

      Excluir