Pergunta

Temos um instalador para o nosso aplicativo que deve ser baixado e executado com privilégios de administrador, como muitos outros instaladores. No entanto, o instalador não é chamado de "setup.exe", de modo que o Windows não detectar automaticamente como necessitando de elevação a prazo.

Alterar o nome do instalador para tornar as coisas elevar adequadamente soa muito confuso, francamente. Este artigo fala muito sobre UAC e elevação, e ele diz que você pode usar um manifesto para fazer algo necessitam de autorização.

Então, nós só gostam de criar um manifesto para o nosso instalador. No entanto, como podemos garantir o manifesto está presente? Se o usuário apenas de downloads our_application_v13.exe, como podemos assegurar que obtêm o manifesto também? AFAIK o manifesto teria que ser um arquivo chamado "our_application_v13.exe.manifest" nesse caso.

Uma vez que eles estão apenas baixando um arquivo do nosso web site, como podemos garantir que eles recebam o manifesto também? podemos construí-lo no executável, de alguma forma, ou de outra forma bandeira do executável como necessitando de elevação? Estamos usando uma ferramenta de instalador de centenas de anos atrás, que não podemos mudar, para que ele não tem nenhum capacidades relevantes para isso.

Obrigado!

Foi útil?

Solução

Se a ferramenta instalador permite alterar / anexar / editar os recursos do arquivo EXE gerado, você pode adicionar o arquivo de manifesto como um recurso com um tipo de recurso de 24 (RT_MANIFEST nos cabeçalhos janelas) e um ID de recurso de 1.

Se a ferramenta instalador não tem construído na facilidade para inserir recursos, então você pode ter que escrever uma ferramenta de pós-processamento seu arquivo install.exe para inserir o recurso. Olhe para cima do Windows APIs BeginUpdateResouce e EndUpdateResource. Eles têm algumas limitações - eles tendem a não trabalho se o EXE ainda não contém quaisquer arquivos de recursos em todos, mas a maioria instalar ferramentas exe arquivos gerados conter pelo menos uma informação de versão de recursos.

Além disso, se a instalação é assinado digitalmente que terá de ser feito após a inserção do recurso de manifesto.


Além disso, mt. exe incluído com o SDK da plataforma e maioria das versões do Visual studio tem opções para incorporar, extrato e mesclar recursos manifesto.

Outras dicas

O manifesto também pode ser na seção de recurso nativo da aplicação (dentro do EXE).

Existe Resource Tuner Console a partir Heaventools Software.

Resource Tuner Console é uma ferramenta de linha de comando que permite aos desenvolvedores para automatizar pós-processamento do seu arquivo de instalação exe e inserir o recurso de manifesto. Veja especificamente o Adicionando manifesto de aplicativo para maiores detalhes:

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top