Já falamos sobre manifest em outro post.
No Harbour tem a opção dele criar automático.
Lembro que na época pesquisei e coloquei no aplicativo, ainda não existia isso no Harbour.
Pesquisar um pouco, pra completar este post....
Não são os links que usei, são links que encontrei agora, pausando este post pra procurar.
https://support.microsoft.com/pt-br/help/944276/how-to-embed-a-manifest-file-in-an-executable-file-in-visual-studio-20Esse diz pra ser pra NET, mas tudo bem....
Reparem que só mexe com os privilégios, pra deixar o default do usuário.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Este detalhe me chamou a atenção, no texto do link:
Se você quiser desenvolver um programa "Certified for Windows Vista", você precisa incorporar um arquivo de manifesto em um arquivo executável.
Lembrando que, em ordem de idade/lançamento, vém o Windows XP, depois o Windows Vista, depois o Windows 7.
Se isso começou no Windows Vista, vale para as versões seguintes.
E repare que no final, mostra que teria que assinar o aplicativo.
Lembrando que esse roteiro é pra NET, que foi quando surgiu a tal assinatura nos programas fornecida junto com o Visual Studio. O NET foi o primeiro a usar assinatura.
Este outro link fala sobre usar o "estilo visual" do comctl32.dll versão 6 - controles comuns, parte do Windows, mas versão 6 somente a partir de determinada versão.
https://msdn.microsoft.com/en-us/library/windows/desktop/bb773175(v=vs.85).aspx<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
Tem também a wikipédia:
https://en.wikipedia.org/wiki/Manifest_fileMais outro, este descreve muitas opções possíveis.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa374191(v=vs.85).aspxMais outro:
http://www.restuner.com/howto-insert-trust-info-manifest.htmEste pode ser interessante: perguntas e respostas sobre manifest, num blog da Microsoft
https://blogs.msdn.microsoft.com/patricka/2009/12/09/answers-to-several-application-manifest-mysteries-and-questions/nesse chama a atenção esta parte:
Windows 7 introduced “switchback” into the manifest by adding a <compatibility> section to the manifest. This allows you to state what OS you support. So, if you insert the tag that you support Windows 7, you will get a handful of new behaviors. Otherwise, your app will “switchback” to the Vista behavior.
A partir do Windows 7 tem a seção de compatibilidade.
Se indicar Windows 7 ok, senão vai assumir Windows Vista.
São links que peguei aleatórios em pesquisas do google.
Vai ser difícil encontrar os mesmos links aonde peguei as informações que usei, inclusive sobre "futuramente ser obrigatório assinar programa com privilégios elevados"., não encontrei.