Versão no EXE faz diferença pra antivírus?

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Versão no EXE faz diferença pra antivírus?

Mensagem por rochinha »

Amiguinhos

Deixando algumas dicas aqui.

A compilação de meu sistema é automatizada e cada revisão/compilação recebe um numero de versão sequencial. O automatizaro gera os arquivos necessários para a segurança como .MANIFEST e .RC que são mesclados ao .EXE no processo.

UAC.MANIFEST

Código: Selecionar todos

  //
  cRC :=       [<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+ CRLF
  cRC := cRC + [<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">]+ CRLF
  cRC := cRC + [  <v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">]+ CRLF
  cRC := cRC + [    <v3:security>]+ CRLF
  cRC := cRC + [      <v3:requestedPrivileges>]+ CRLF
  cRC := cRC + [        <v3:requestedExecutionLevel level="highestAvailable" />]+ CRLF
  cRC := cRC + [      </v3:requestedPrivileges>]+ CRLF
  cRC := cRC + [    </v3:security>]+ CRLF
  cRC := cRC + [  </v3:trustInfo>]+ CRLF
  cRC := cRC + [</assembly>]+ CRLF
  //
  ret_line := "chr(13)+chr(10)"
  errhandle = fcreate( "uac.manifest" )
  fwrite( errhandle, cRC )
  fclose( errhandle )
.RC

Código: Selecionar todos

  cRC :=       [LANGUAGE LANG_PORTUGUESE,SUBLANG_PORTUGUESE_BRAZILIAN] + CRLF
  cRC := cRC + [APPLICATION_ICO ICON "nfwh.ico" ] + CRLF
  cRC := cRC + [VS_VERSION_INFO VERSIONINFO     ] + CRLF
  cRC := cRC + [FILEVERSION 1,0,0,0             ] + CRLF
  cRC := cRC + [PRODUCTVERSION 1,0,0,0          ] + CRLF
  cRC := cRC + [FILEFLAGSMASK 0x0               ] + CRLF
  cRC := cRC + [FILEFLAGS 0x0                   ] + CRLF
  cRC := cRC + [FILEOS VOS__WINDOWS32           ] + CRLF
  cRC := cRC + [FILETYPE VFT_APP                ] + CRLF
  cRC := cRC + [FILESUBTYPE VFT2_UNKNOWN        ] + CRLF
  cRC := cRC + [{                               ] + CRLF
  cRC := cRC + [  BLOCK "StringFileInfo"        ] + CRLF
  cRC := cRC + [  {                             ] + CRLF
  cRC := cRC + [    BLOCK "040904E4"            ] + CRLF
  cRC := cRC + [    {                           ] + CRLF
  cRC := cRC + [      VALUE "Comments",         "Sistema Administrativo Total\0" ] + CRLF
  cRC := cRC + [      VALUE "CompanyName",      "5Volution.COM - www.5volution.com.br \0"] + CRLF 
  cRC := cRC + [      VALUE "FileDescription",  "Fenix Legacy\0" ] + CRLF
  cRC := cRC + [      VALUE "FileVersion",      "] + strzero(nRevisao,4) + [\0" ] + CRLF
  cRC := cRC + [      VALUE "InternalName",     "Fenix Legacy\0" ] + CRLF
  cRC := cRC + [      VALUE "LegalCopyright",   "5Volution.COM\0" ] + CRLF
  cRC := cRC + [      VALUE "LegalTrademarks",  "Fenix Legacy / 5VOLUTION\0" ] + CRLF
  cRC := cRC + [      VALUE "OriginalFilename", "NFWH29.EXE\0" ] + CRLF
  cRC := cRC + [      VALUE "ProductName",      "5Volution Fenix Legacy\0" ] + CRLF
  cRC := cRC + [      VALUE "ProductVersion",   "10\0" ] + CRLF
  cRC := cRC + [    }                           ] + CRLF
  cRC := cRC + [  }                             ] + CRLF
  cRC := cRC + [  BLOCK "VarFileInfo"           ] + CRLF
  cRC := cRC + [  {                             ] + CRLF
  cRC := cRC + [    VALUE "Translation", 0x416, 0x4B0 ] + CRLF
  cRC := cRC + [  }                             ] + CRLF
  cRC := cRC + [}                               ] + CRLF
  cRC := cRC + [] + CRLF
  //
  ret_line := "chr(13)+chr(10)"
  errhandle = fcreate( "revisao.rc" )
  fwrite( errhandle, cRC )
  fclose( errhandle )
Além disto o executável é assinado com um certificado também gerado localmente. Você pode assinar com seu certificado digital.

Os arquivos não precisam ser criados a cada compilação mas são usados sempre.

Tem um tópico aqui que ensina como criar seu certificado de assinaturas local. Não serve para assinar documentos SEFAZ.

Assinatura Digital de aplicativos sem OpenSSL
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

Versão no EXE faz diferença pra antivírus?

Mensagem por Abel »

ola Rochinha, obrigado pela contribuicao

onde vc coloca essas linhas abaixo que vi em varios posts aqui no forum ?

Código: Selecionar todos

#define HB_CREATEPROCESS_MANIFEST_RESOURCE_ID 1
#define HB_RT_MANIFEST                        24

outra coisa,

o arquivo.rc eu coloca para compilar junto na lista de PRGs

e o arquivo xxxx.manifest como devo fazer ?

como nao sabia como gerar um certificado, eu comprei um de uma empresa,
estou aqui na busca de novas informacoes porque o defender disse que meu programa tinha um trojan
mesmo depois de assinado (:

Obrigado
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Versão no EXE faz diferença pra antivírus?

Mensagem por JoséQuintas »

Tenho um arquivo SJPA.EXE, esse não muda nunca, uso desde os tempos do Windows8 que avisou sobre arquivos BAT.
Ele carrega o JPA*.EXE com data mais nova que existir na pasta.
Por muito tempo ia alterando pra JPA1, JPA2, JPA3, etc.
Eventualmente o antivírus apagava a atualização, quando o nome se repetia, ou o servidor bloqueava nomes não sei porque.
Por fim, passei a usar data/hora no nome, JPA_20240714_132100.exe, afinal, nome de 8 letras é coisa de DOS.

Simples e prático:

Não preciso inventar nomes, uso data/hora.
Não preciso mexer em configuração, SJPA funciona sempre.
Anti-vírus não reclama, porque é outro nome.
Só sobra mesmo a reputação, que fica por conta do usuário.

Nota: na atualização também apago EXEs mais antigos, deixando só os mais recentes por precaução.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Versão no EXE faz diferença pra antivírus?

Mensagem por JoséQuintas »

Sobre o manifest: quanto mais poderes liberar, mais a segurança vai pegar pesado.

exe.manifest, pra qualquer aplicativo, limitado ao nível do usuário

Código: Selecionar todos

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
   <assemblyIdentity name="JoseQuintas" processorArchitecture="x86" version="0.0.0.0" type="win32" />
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
		<security>
			<requestedPrivileges>
				<requestedExecutionLevel level="asInvoker" uiAccess="false" />
			</requestedPrivileges>
		</security>
	</trustInfo>
   <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
      <application>
         <!-- Windows 10 -->
         <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
         <!-- Windows 8.1 -->
         <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
         <!-- Windows 8 -->
         <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
         <!-- Windows 7 -->
         <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
         <!-- Windows Vista and Windows Server 2008 R2 -->
         <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
         <!-- Windows XP ignores this section -->
      </application>
   </compatibility>
	<dependency>
		<dependentAssembly>
			<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0"
            processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
		</dependentAssembly>
	</dependency>
</assembly>
no rc:

Código: Selecionar todos

#include "build.ch"
#define RT_MANIFEST 24
#define APP_MANIFEST 1

APP_MANIFEST RT_MANIFEST "resource\\exe.manifest"
Uso o build.ch pra definir número de versão.
Tenho um build.exe intermediário que cria esse arquivo a cada compilação.

Código: Selecionar todos

#define JOSEQUINTAS_VERSAO    "2024.07.13.2227"
#define JOSEQUINTAS_VERSAO_RC  2407,13,22,27
Apesar do 2407 dar overflow, nunca mudei.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Versão no EXE faz diferença pra antivírus?

Mensagem por rochinha »

Amiguinhos,

Abel

As linhas #DEFINE... precisam(de praxe) estar no inicio do .PRG antes do PROCEDURE ... ou FUNCTION MAIN ...

Os .RC são transformados através do compilador de códigos específico como BRC, PORC, etc e o resultado será a criação de arquivos .RES que seriam parecidos com os .OBJ obtidos das compilações de .PRG, .C ou .CPP.

O .RES pode ser incluso junto aos .LIB pois é uma biblioteca de recursos assim como as .LIB são bibliotecas de funções.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Versão no EXE faz diferença pra antivírus?

Mensagem por JoséQuintas »

A Microsoft adicionou mais opções no manifest.
Não sei se precisaremos definir mais coisas.

https://learn.microsoft.com/pt-br/windo ... -manifests
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

Versão no EXE faz diferença pra antivírus?

Mensagem por Abel »

JoseQuintas,
o arquivo exe.manifest eu coloco para compilar juntos com a lista de prg´s ?


outra duvida, porque as propriedades do meu EXE nao aparece a aba seguranca ?
saberiam informar ?

Obrigado,
ABEL
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Versão no EXE faz diferença pra antivírus?

Mensagem por JoséQuintas »

Abel escreveu:o arquivo exe.manifest eu coloco para compilar juntos com a lista de prg´s ?
outra duvida, porque as propriedades do meu EXE nao aparece a aba seguranca ?
saberiam informar ?
Se acompanhar o post, vai ver que o manifest é indicado no arquivo RC.
É o RC que vai na lista de compilação.

As propriedades são definidas no RC.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

Versão no EXE faz diferença pra antivírus?

Mensagem por Abel »

JoseQuintas, obrigado !

no arquivo manifest do post acima esta assim no final

Código: Selecionar todos

publicKeyToken="6595b64144ccf1df"
isso é algo particular que voce criou ou tem algo a ver com o certificado que voce assina ?

do resto ja consegui configurar a aba DETALHES nas propriedades do meu EXE,

minha outra duvida é como criar nas propriedades do EXE a aba segurança ?

Obrigado Pessoal !
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Versão no EXE faz diferença pra antivírus?

Mensagem por Kapiaba »

Código: Selecionar todos

// C:\FWH\SAMPLES\ROCHAVER.PRG - By Rocinhasssss.... 16/07/2024
// MODIFICADO EM: 16/07/2024   - Por: Joao Santos - Da p/Modernizar isso.

#include "FiveWin.ch"

STATIC oWnd, nRevisao := 10.0 // Versao?.

MEMVAR CRC, RET_LINE, ERRHANDLE

FUNCTION Main()

   LOCAL oBar

   DEFINE WINDOW oWnd TITLE "ROCHAVER 3D objects"

   DEFINE BUTTONBAR oBar _3D OF oWnd

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\open.bmp" FLAT GROUP ;
      ACTION( Build_Manifest() )                                         ;
      TOOLTIP "Creates a document Manifest File"

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\new.bmp" FLAT GROUP  ;
      ACTION ( Build_RC_File() )                                         ;
      TOOLTIP "Creates a new RC File document"

   DEFINE BUTTON OF oBar FILENAME "..\bitmaps\16x16\Exit.bmp" FLAT GROUP ;
      ACTION( oWnd:End() ) TOOLTIP "Exit this app"

   SET MESSAGE OF oWnd TO "ROCHAVER 3D objects" NOINSET CLOCK DATE KEYBOARD

   ACTIVATE WINDOW oWnd CENTERED // MAXIMIZED

RETURN NIL

FUNCTION Build_Manifest()

   // TEM PARA WINDOWS 10/11

   cRC :=       [<?xml version="1.0" encoding="UTF-8" standalone="yes"?>] + CRLF
   cRC := cRC + [<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">] + CRLF
   cRC := cRC + [  <v3:trustInfo xmlns:v3="urn:schemas-microsoft-com:asm.v3">] + CRLF
   cRC := cRC + [    <v3:security>] + CRLF
   cRC := cRC + [      <v3:requestedPrivileges>] + CRLF
   cRC := cRC + [        <v3:requestedExecutionLevel level="highestAvailable" />] + CRLF
   cRC := cRC + [      </v3:requestedPrivileges>] + CRLF
   cRC := cRC + [    </v3:security>] + CRLF
   cRC := cRC + [  </v3:trustInfo>] + CRLF
   cRC := cRC + [</assembly>] + CRLF

   ret_line  := "chr(13)+chr(10)"
   // errhandle := FCreate( "uac.manifest" )
   errhandle := FCreate( "uac.man" )

   FWrite( errhandle, cRC )
   FClose( errhandle )

   MsgInfo( "Manifest Pronto!", "Manifest Pronto!" ) 

RETURN NIL

FUNCTION Build_RC_File()

   // Desnecessarios:
   // cRC :=       [LANGUAGE LANG_PORTUGUESE,SUBLANG_PORTUGUESE_BRAZILIAN] + CRLF
   // AQUI, EU ESCOLHO A GOSTO DO MEU ARQUIVO.RES NA AREA DE ICONES
   // cRC := cRC + [APPLICATION_ICO ICON "nfwh.ico" ] + CRLF
   // ERRADO:
   // cRC := cRC + [VS_VERSION_INFO VERSIONINFO     ] + CRLF

   // VERSAO PARA BORLAND RESOURCE WORKSHOP.exe:

   cRC := [1 VERSIONINFO LOADONCALL MOVEABLE DISCARDABLE IMPURE] + CRLF

   cRC := cRC + [FILEVERSION 1, 0, 2, 0          ] + CRLF
   cRC := cRC + [PRODUCTVERSION 1, 0, 2, 0       ] + CRLF
   cRC := cRC + [FILEFLAGSMASK VS_FFI_FILEFLAGSMASK] + CRLF
   cRC := cRC + [FILEFLAGS 0x0                   ] + CRLF
   cRC := cRC + [FILEOS VOS__WINDOWS32           ] + CRLF
   cRC := cRC + [FILETYPE VFT_APP                ] + CRLF
   cRC := cRC + [FILESUBTYPE VFT2_UNKNOWN        ] + CRLF
   cRC := cRC + [{                               ] + CRLF
   cRC := cRC + [  BLOCK "StringFileInfo"        ] + CRLF
   cRC := cRC + [  {                             ] + CRLF
   cRC := cRC + [    BLOCK "080904E4"            ] + CRLF
   cRC := cRC + [    {                           ] + CRLF
   cRC := cRC + [      VALUE "Comments",         "Sistema Administrativo Total\0" ] + CRLF
   cRC := cRC + [      VALUE "CompanyName",      "5Volution.COM - www.5volution.com.br \0"] + CRLF
   cRC := cRC + [      VALUE "FileDescription",  "Fenix Legacy\0" ] + CRLF
   cRC := cRC + [      VALUE "FileVersion",      "] + StrZero( nRevisao, 4 ) + [\0" ] + CRLF
   cRC := cRC + [      VALUE "InternalName",     "Fenix Legacy\0" ] + CRLF
   cRC := cRC + [      VALUE "LegalCopyright",   "5Volution.COM\0" ] + CRLF
   cRC := cRC + [      VALUE "LegalTrademarks",  "Fenix Legacy / 5VOLUTION\0" ] + CRLF
   cRC := cRC + [      VALUE "OriginalFilename", "ROCHAVER.EXE\0" ] + CRLF
   cRC := cRC + [      VALUE "ProductName",      "5Volution Fenix Legacy\0" ] + CRLF
   cRC := cRC + [      VALUE "ProductVersion",   "10\0" ] + CRLF
   cRC := cRC + [    }                           ] + CRLF
   cRC := cRC + [  }                             ] + CRLF
   cRC := cRC + [  BLOCK "VarFileInfo"           ] + CRLF
   cRC := cRC + [  {                             ] + CRLF
   cRC := cRC + [    VALUE "Translation", 2057, 1252] + CRLF
   cRC := cRC + [  }                             ] + CRLF
   cRC := cRC + [}                               ] + CRLF
   cRC := cRC + [] + CRLF

   ret_line  := "chr(13)+chr(10)"
   errhandle := FCreate( "revisao.rc" )

   FWrite( errhandle, cRC )
   FClose( errhandle )

   MsgInfo( "Arquivo RC Pronto!", "Arquivo RC Manifest Pronto!" )

RETURN NIL

// FIN / END - kapiabafwh@gmail.com
Melhores informações aqui:

https://fivewin.com.br/index.php?/topic ... es-do-exe/

https://forums.fivetechsupport.com/view ... 0&start=15

Regards, saludos.
Kapiaba
Colaborador
Colaborador
Mensagens: 1908
Registrado em: 07 Dez 2012 16:14
Localização: São Paulo
Contato:

Versão no EXE faz diferença pra antivírus?

Mensagem por Kapiaba »

WINDOWS10.MANIFEST:

Código: Selecionar todos

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
  <dependency optional="yes"> 
    <dependentAssembly> 
      <assemblyIdentity name="Microsoft.Windows.Common-Controls" 
        version="6.0.0.0" publicKeyToken="6595b64144ccf1df" 
        type="win32" processorArchitecture="*" language="*" /> 
    </dependentAssembly> 
  </dependency> 
  <application xmlns="urn:schemas-microsoft-com:asm.v3"> 
     <windowsSettings> <dpiAware      xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/PM</dpiAware>                     </windowsSettings> 
     <windowsSettings> <dpiAwareness  xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2,PerMonitor</dpiAwareness> </windowsSettings> 
     <windowsSettings> <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>                   </windowsSettings> 
     <windowsSettings> <heapType      xmlns="http://schemas.microsoft.com/SMI/2020/WindowsSettings">SegmentHeap</heapType>                 </windowsSettings> 
  </application> 
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <security> 
      <requestedPrivileges> 
        <requestedExecutionLevel level="asInvoker" uiAccess="false" /> 
      </requestedPrivileges> 
    </security> 
  </trustInfo> 
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
    <application> 
      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /> 
      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" /> 
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" /> 
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" /> 
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" /> 
    </application> 
  </compatibility> 
</assembly>
Regards, saludos.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Versão no EXE faz diferença pra antivírus?

Mensagem por JoséQuintas »

Abel escreveu:isso é algo particular que voce criou ou tem algo a ver com o certificado que voce assina ?
Se olhar o link da Microsoft, é exatamente isso.
Está liberando os controles Microsoft, com o token definido pela Microsoft.
Isso interfere no visual de componentes GUI, liberando visual criado após W98.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Versão no EXE faz diferença pra antivírus?

Mensagem por JoséQuintas »

O pessoal do xharbour mistura um pouco as coisas, porque faz tudo por BAT.

manifest:
Pode deixar numa pasta específica, aqui deixo em RESOURCES
Pode usar o mesmo arquivo pra tudo

RC
Do mesmo jeito que num email você anexa arquivos, esse RC indica o que vai anexar no EXE.
Aí que vai indicar se entra manifest, informações do EXE, ícones, bitmaps, etc.
Vai ser compilado pra RES, mas nem importa, o hbmk2 do harbour faz isso automático.
Pode ter vários RC, ou compilados RES, sem problema
Se existirem RC e RES, eles vão ser indicados na lista pra compilar.

Código: Selecionar todos

#include "build.ch"

1 VERSIONINFO
  FILEVERSION JOSEQUINTAS_VERSAO_RC
  BEGIN
     BLOCK "StringFileInfo"
     BEGIN
        BLOCK "040904E4"
        BEGIN
            VALUE "CompanyName"      , "JPA TECNOLOGIA LTDA"
            VALUE "FileDescription"  , "JPA Integrado"
            VALUE "LegalCopyright"   , "José M C Quintas"
            VALUE "OriginalFilename" , "JPA.EXE"
            VALUE "ProductName"      , "JPA Integrado"
            VALUE "ProductVersion"   , "JPA SQL"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x0416, 1252
    END
END

#define RT_MANIFEST 24
#define APP_MANIFEST 1

APP_MANIFEST RT_MANIFEST "resource\\exe.manifest"

AppIcon          ICON     "ico\\icoJPA.ico"

icoAddList       ICON     "ico\\icoAddList.ico"
icoBalloon       ICON     "ico\\icoBalloon.ico"
icoBarCode       ICON     "ico\\icoBarCode.ico"
icoBuild         ICON     "ico\\icoBuild.ico"
...
Não precisa ficar gerando RC por fonte, igual mostraram aí.
Aqui eu uso arquivo separado e #include no RC pra ele.

\fontes\build\build.ch

Código: Selecionar todos

#define JOSEQUINTAS_VERSAO    "2024.07.15.1601"
#define JOSEQUINTAS_VERSAO_RC  2407,15,16,01
Toda vez que compilo, esse CH de duas linhas é criado/atualizado.
Entra automático em qualquer compilação que eu faça.

Nem precisa inventar número de versão, é data/hora e pronto, inconfundível.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Abel
Usuário Nível 3
Usuário Nível 3
Mensagens: 332
Registrado em: 14 Mar 2012 13:16
Localização: sao paulo / sp

Versão no EXE faz diferença pra antivírus?

Mensagem por Abel »

Obrigado JoseQuintas,

como tudo isso é novo, nunca configurei nada com arquivos manifest
acabo tendo duvidas basicas, e acredito que pode ajudar muitos outros aqui no grupo tambem.

voce sabe dizer o que eu preciso ajustar para liberar a aba segurança nas propriedades do EXE ?

Obrigado por enquanto,
ABEL
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Versão no EXE faz diferença pra antivírus?

Mensagem por JoséQuintas »

Abel escreveu:voce sabe dizer o que eu preciso ajustar para liberar a aba segurança nas propriedades do EXE ?
Tá falando aba de segurança, ou aba de detalhes ?
seugranca.png
Se é essa de detalhes, acabei de postar tudo.
Inclusive do ícone do aplicativo, pra aparecer na consulta e/ou atalho.
iconeap.png
atalho.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder