[python] Python freeze a Vista UAC
Michal Molhanec
mol-python na seznam.cz
Čtvrtek Červen 7 19:36:58 CEST 2012
Dobrý den,
to zní užitečně, nechcete to přidat do wiki ?
Dne 6.6.2012 23:30, Radek Holý napsal(a):
> Dobrý den,
>
> moc děkuju za postrčení. Získal jsem další klíčová slova pro hledání a
> nakonec jsem zjistil, že pro změnu manifestu stačí následující kód:
>
>>>> import win32api
>>>>
>>>> # Load manifest.
>>>> handle = win32api.LoadLibrary(PATH_TO_EXE)
>>>> manifest = win32api.LoadResource(handle, 24, 1, 1033)
>>>> win32api.FreeLibrary(handle)
>>>>
>>>> # Modify manifest (replacing 'requestedExecutionLevel level="asInvoker"' by 'requestedExecutionLevel level="requireAdministrator"').
>>>>
>>>> # Save new manifest.
>>>> handle = win32api.BeginUpdateResource(PATH_TO_EXE, 0)
>>>> win32api.UpdateResource(handle, 24, 1, manifest, 1033)
>>>> win32api.EndUpdateResource(handle, 0)
>
> Resp. toto stačí pro EXE soubory používané v cx_freeze. Nevím, jestli
> v jiných EXE souborech není třeba použít jiné identifikátory než "1" a
> "1033" ve funkcích ``win32api.LoadResource`` a
> ``win32api.UpdateResource``...
--
Zdraví,
Michal Molhanec
Další informace o konferenci Python