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 customizadas 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 customizada, o programa recebe "ACCESS DENIED" ao acessar o 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 faz várias modificações no registro antes de acessar o arquivo; suponho que a configuração ativa fique salva nele, mas não fui atrás para confirmar. Por enquanto fica assim, mas estou aborrecido...

Atualização - 12/02/2012: Sim, todas as configurações do software são salvas 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, vide:

http://pdfcreator.svn.sourceforge.net/viewvc/pdfcreator/trunk/Setup/PDFCreator.iss?revision=904&view=markup
(linha 1241)

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.

Referência:
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