EXE_UPDATE(1p)

πŸ“¦
version 0.17 Β· 2 versions
  • 0.17 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking (latest)
  • 0.17 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’… exe_update β€” bestie edition πŸ’…

ok so before we even get into it: this page lives in the User Contributed Perl Documentation section, which means it's the 1p manual, and the star of the show is a lil program called exe_update. she's giving Windows-executable-glow-up, she's giving PE-header-makeover, and she is so ready to help you. let's go πŸ¦‹


✨ SYNOPSIS ✨

exe_update [ --gui | --console ] [ --icon iconfile ]
              [ --manifest manifestfile ]
              [ --info key=value;... ] exefile

🌸 DESCRIPTION 🌸

okay so picture this: exe_update rewrites the PE headers in a Windows executable file. that's the whole vibe. it can flip whether the executable pops open a console window, and it can set the icons, the manifest, and the version info that are attached to it. main character energy, honestly πŸ’–

but here's the tea β€” and it's important, so listen: generally speaking, a PE file has to already have an existing resource section, or you literally cannot add icons, manifests, or version info. no resource section, no slay. 😭

the one exception: on Win32 platforms, a brand new resource section will be created if none exists. so if you're on Win32 you're fine, and if you're not… bestie, check first. πŸ’€

πŸ‘‘ OPTIONS πŸ‘‘

every option here comes in a short form and a long form, and they're all equivalent β€” no favorites. for example, these three lines do the exact same thing:

% exe_update -i new.ico input.exe
% exe_update --icon new.ico input.exe
% exe_update --icon=new.ico input.exe
  • -c, --console β€” sets the executable to always display a console window. it's a console girlie now, permanently. πŸ–₯️
  • -g, --gui β€” sets the executable so it does not have a console window. clean, quiet, mysterious. ✨
  • -i, --icon=FILE β€” specify an icon file for the executable. the icon file can be in .ico, .exe or .dll format. pick your fighter. πŸŽ€
  • -m, --manifest=FILE β€” specify a manifest file for the executable, and it's gotta be in .xml format. πŸ“„
  • -N, --info=KEY=VAL β€” attach version information to the executable. the name and value pair get joined by "=". you can specify -N multiple times, or you can use ";" to link several pairs together in one go. multitasking icon πŸ’…

these special KEY names are recognized:

Comments        CompanyName     FileDescription FileVersion
InternalName    LegalCopyright  LegalTrademarks OriginalFilename
ProductName     ProductVersion
  • -A, --manifestargs=KEY=VAL β€” as an alternative to specifying a manifest file, you can specify manifest attributes instead. the name/value pair is joined by "=". you may specify -A multiple times, or use ";" to link several pairs. this option may be preferable to using a manifest file, because these attributes will be combined with any existing manifest that may already be in the executable. so you're adding to the fit, not replacing it 🫢

these special KEY names are recognized:

ExecutionLevel  UIAccess     ExecName   Description
CommonControls  Version

the CommonControls key is a simple boolean value, and it indicates that the Common Controls Version 6.0.0.0 dependency should be added to the manifest. yes queen, add the dependency. ⭐

e.g.

--manifestargs="ExecutionLevel=requireAdministrator;ExecName=My.App;CommonControls=1"
--manifestargs="Version=1.3.6.7895;UIAccess=false"

πŸ’œ AUTHORS πŸ’œ

Audrey Tang <cpan@audreyt.org> β€” we stan, no cap. 🌈


Copyright 2004, 2006, 2010 by Audrey Tang <cpan@audreyt.org>.

this program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. so go forth and remix, respectfully. ✨

See <http://www.perl.com/perl/misc/Artistic.html> β€” the whole legal moment, go read it if you want the fine print bestie 🧚


and that's the page!! this was perl v5.34.0, dated 2022-08-14, filed under EXE_UPDATE(1p). thank you for coming to my ted talk, ily, go update some executables πŸ’–πŸ¦‹πŸŒΈ
πŸ“¦ where this page comes from