UNEXPECTED ERROR NO VISTA
Estou tentando instalar o meu programa no Windows Vista e esta dando a mensagem - Unexpected error - após colocar o usuário e senha.
Para gerar o meu instalador estou utilizando o InnoSetup. Toda a instalação esta correndo normalmente, todos os arquivos .ocx já foram verificados e marcados para serem registrados pelo InnoSetup.
Buscando na net por esse erro achei o site http://www.macoratti.net/vb_pau.htm e realmente verifiquei que estavm faltando algumas .ocx, más mesmo ás incluindo não estou conseguindo fazer rodar o sistema.
Será que alguém já passou por esse problema?
Obs: Quando a instalação é feita no XP, não dá problema algum e o sistema roda perfeitamente
Abraço a todos e desde já obrigado
Segue a lista de arquivos
Name: {app}\CONFIG.INI; Type: files
Name: {app}\Transp.exe; Type: files
Name: {app}\Atualizacao\Transp1.exe; Type: files
Name: {app}\Atualizacao\Config.ini; Type: files
Name: {win}\AS-IFCE1.OCX; Type: files
Name: {win}\asycfilt.dll; Type: files
Name: {win}\COMCAT.DLL; Type: files
Name: {win}\COMDLG32.OCX; Type: files
Name: {win}\COMCT232.OCX; Type: files
Name: {win}\COMCT332.OCX; Type: files
Name: {win}\comctl32.ocx; Type: files
Name: {win}\HookMenu.ocx; Type: files
Name: {win}\MSCDRUN.DLL; Type: files
Name: {win}\MSCOMCTL.OCX; Type: files
Name: {win}\MSDATGRD.OCX; Type: files
Name: {win}\MSFLXGRD.OCX; Type: files
Name: {win}\MSMASK32.OCX; Type: files
Name: {win}\MSRDO20.DLL; Type: files
Name: {win}\MSSTDFMT.DLL; Type: files
Name: {win}\msvbvm60.dll; Type: files
Name: {win}\msvbvm50.dll; Type: files
Name: {win}\oleaut32.dll; Type: files
Name: {win}\olepro32.dll; Type: files
Name: {win}\RDOCURS.DLL; Type: files
Name: {win}\TABCTL32.OCX; Type: files
Name: {win}\VB6STKIT.DLL; Type: files
Name: {app}\HeidiSQL_4.0_Setup.exe; Type: files
Name: {app}\mysql-connector-odbc-5.1.5-win32.msi; Type: files
Carregou o form
Abriu o banco
Conectou usuario
Carregou tela principal
etc...
Esse tipo de erro na minha opiniao pode ser por conta de alguma OCX que voce esta usando e tem instrucoes de 32 bits via API gerando erros (so uma leve suspeita).
Tente gerar uma aplicacao sem
Name: {win}\HookMenu.ocx; Type: files
Name: {win}\AS-IFCE1.OCX; Type: files
E veja se esse programa em teoria roda na boa (sem conexao a banco nem nada, so um exe simples e [Ô]pelado[Ô])
Você acertou na veia o que esta acontecendo, essas .ocx não estão sendo registradas pelo windows vista, ela chegam a ser copiadas, más não conseguem sem registradas.
E o problema não é só esse, eu instalei o vb6 mais o service pack 6 no vista e o programa do vb6 não esta rodando perfeitamente, as próprias ocx do vb6 não estão conseguindo ser registradas.
Como que vc esta resolvendo esse problema? ou vc não teve esse tipo de problema?
Obs1: o Windows vista é o 64bits
Obs2: Gerei um executável sem a ocx do hookmenu, conforme sua opinião e não deu certo
O probrama abre o banco - entrou na tela de login - autenticou o usuário e senha - não carrega tela alguma, da a mensagem de erro e sai do sistema
Obs3: Já gerei através do innosetup todos os arquivos com a opção 64bits selecionada e também não funcionou
Abraço e agradeço a ajuda
Citação:The fact that the account you are using is a member of the local administrator group doesn[ô]t mean that Vista executes the process with those privileges. You need to explicity tell Vista to run it as an administrator (right click on the process and choose <Run As Administrator>. I have had to do this to perform several tasks that would have run normally on XP. My understanding is that this is inherent on the Vista security model.
Algumas urls legais de se ver:
http://social.msdn.microsoft.com/forums/en-US/windowssdk/thread/1681611a-2c0f-423b-98d1-eaea2d63a242/
http://www.jrsoftware.org/isfaq.php#ocx
http://www.vbforums.com/showthread.php?t=469224
No Faq do Inno voce pode ver que a uma secao que faz o uso obrigatorio de um power user para rodar o setup:
Citação:Windows NT/2000/XP/2003 & Administrative Privileges
A typical Inno Setup installation running on Windows NT/2000/XP/2003 does not require administrative or [Ô]power user[Ô] privileges. However, there are exceptions as noted below.
Things that require administrative privileges on both Windows NT/2000/XP/2003:
Using [Ô]PrivilegesRequired=admin[Ô] in the script[ô]s [Setup] section. This causes Setup to abort with an error message if the user lacks administrative privileges.
Using the [Ô]restartreplace[Ô] flag in the [Files] section. This flag causes Inno Setup to call the MoveFileEx function, which attempts to write to [Ô]HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Session Manager[Ô]. Write access to this key is restricted to Administrators.
Writing to any key under HKEY_USERS\.DEFAULT using the [Registry] section. Write access to this key is restricted to Administrators.
Things that require either administrative or [Ô]power user[Ô] privileges on Windows 2000/XP/2003:
Using [Ô]PrivilegesRequired=poweruser[Ô] in the script[ô]s [Setup] section. This causes Setup to abort with an error message if the user lacks either administrative or [Ô]power user[Ô] privileges.
Using the [Ô]regserver[Ô] flag in the [Files] section. In most cases registering a DLL involves writing to HKEY_CLASSES_ROOT, a privilege not granted to ordinary users.
Using the [Ô]sharedfile[Ô] flag is the [Files] section. This flag causes Inno Setup to create/update a value in [Ô]HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows\ CurrentVersion\ SharedDLLs[Ô]. Ordinary users are not allowed to write to that key.
Using the FontInstall parameter in the [Files] section.
Writing to any key under HKEY_LOCAL_MACHINE or HKEY_CLASSES_ROOT using the [Registry] section. Ordinary users are not allowed to write to those keys.
Inno Setup itself does not require write access to the WINNT directory, or any other registry keys not mentioned above.
What is different when an installation is run by a user without administrative privileges?
The registry key for the Add/Remove Programs Control Panel entry is created under HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE. Thus, only the user who installed the program will see an Add/Remove Programs entry for it.
The [Ô]{group}[Ô] constant always points to the current user[ô]s profile, as opposed to the All Users profile.
All [Ô]{common...}[Ô] constants are equivalent to the [Ô]{user...}[Ô] constants.
The program may be uninstalled by any user. (When an administrator installs a program, only an administrator is allowed to uninstall it.)
Na realidade o problema não estava com nenhuma OCX. O problema estava acredite, com o Ãcone do Menu Principal, após pesquisar nos artigos que você colocou e fazer vários testes o problema ainda persistia, foi quando me deu um estalo para ver o Ãcone e foi dito e feito, quando tirei o Ãcone do Menu Principal e rodei o inno setup no XP, ao instalar o problema no Vista funcionou sem problema algum.
Depois foi só arrumar um outro Ãcone para substituir o que estava com problema e ficou show.
Más agradeço pela ajuda WEBMASTER e RICARDO TOMIM