Sobre uma pergunta que li aqui no forum sobre se era possível evitar mesmo na primeira vez que os níveis de segurança fossem abertos, copiei o código do mestre JPaulo e procedi assim:
Criei um pequeno executável em VB6 com um form e no evento Load atribuí o código
'Desabilita mensagens de segurança
Dim strInibeAlertas As Object
On Error Resume Next
Set strInibeAlertas = CreateObject("Wscript.Shell")
strInibeAlertas.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\SandBoxMode", 2, "REG_DWORD"
strInibeAlertas.RegWrite "HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\11.0\Common\Security\DisableHyperlinkWarning", 1, "REG_DWORD"
strInibeAlertas.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Security\Level", 1, "REG_DWORD"
strInibeAlertas.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security\VBAWarnings", 1, "REG_DWORD"
strInibeAlertas.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security\DisableAllAddins", 1, "REG_DWORD"
strInibeAlertas.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security\Level", 1, "REG_DWORD"
Coloquei um label no form com a seguinte Caption : "Está a um passo de completar o Processo de instalação" "Seja Bem Vindo".
O Utilizador clica para fechar. Antes de tudo isto defeni os níveis de segurança para os valores máximos.
Como não tenho o InnoSetup, trabalho com o Setup factory 7.0 (não devem ser assim tão diferentes) coloquei no evento Shutdown o seguinte código:
result = File.Run(SessionVar.Expand("%AppFolder%\\Data\\frmregist.exe"), "", "", SW_SHOWNORMAL, false);
Resumindo e concluindo.
Ao finalizar o processo de instalação abre o form, o utilizador fecha e os valores do registo são alterados. O processo conclui, no ambiente de trabalho cliquei no ícone da aplicação e esta abriu sem tossir nem mugir. Parabéns ao Mestre JPaulo pelo excelente código.
Quem instalar via Innosetup. setupfactory ou outro pode usar isto. Se não tiver o VB6, eu envio o exe. Quem não tiver e não gostar de ficar mal perante o utilizador cliente com todos aqueles avisos de segurança, basta instalar e depois disfarçadamente dar um clique no exe antes de abrir a aplicação em access. Também envio. Se necessitarem de o personalizar digam que não custa mais.
Obrigado a todos
Criei um pequeno executável em VB6 com um form e no evento Load atribuí o código
'Desabilita mensagens de segurança
Dim strInibeAlertas As Object
On Error Resume Next
Set strInibeAlertas = CreateObject("Wscript.Shell")
strInibeAlertas.RegWrite "HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\SandBoxMode", 2, "REG_DWORD"
strInibeAlertas.RegWrite "HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\11.0\Common\Security\DisableHyperlinkWarning", 1, "REG_DWORD"
strInibeAlertas.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Security\Level", 1, "REG_DWORD"
strInibeAlertas.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security\VBAWarnings", 1, "REG_DWORD"
strInibeAlertas.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security\DisableAllAddins", 1, "REG_DWORD"
strInibeAlertas.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security\Level", 1, "REG_DWORD"
Coloquei um label no form com a seguinte Caption : "Está a um passo de completar o Processo de instalação" "Seja Bem Vindo".
O Utilizador clica para fechar. Antes de tudo isto defeni os níveis de segurança para os valores máximos.
Como não tenho o InnoSetup, trabalho com o Setup factory 7.0 (não devem ser assim tão diferentes) coloquei no evento Shutdown o seguinte código:
result = File.Run(SessionVar.Expand("%AppFolder%\\Data\\frmregist.exe"), "", "", SW_SHOWNORMAL, false);
Resumindo e concluindo.
Ao finalizar o processo de instalação abre o form, o utilizador fecha e os valores do registo são alterados. O processo conclui, no ambiente de trabalho cliquei no ícone da aplicação e esta abriu sem tossir nem mugir. Parabéns ao Mestre JPaulo pelo excelente código.
Quem instalar via Innosetup. setupfactory ou outro pode usar isto. Se não tiver o VB6, eu envio o exe. Quem não tiver e não gostar de ficar mal perante o utilizador cliente com todos aqueles avisos de segurança, basta instalar e depois disfarçadamente dar um clique no exe antes de abrir a aplicação em access. Também envio. Se necessitarem de o personalizar digam que não custa mais.
Obrigado a todos