---
name: "exe_update"
section: "1p"
platform: "linux"
package: "libwin32-exe-perl"
version: "0.17-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/exe_update"
---

# exe\_update(1p)

Modify windows executable files

## NAME

exe\_update - Modify windows executable files

## SYNOPSIS

**exe\_update** \[ **--gui** \| **--console** \] \[ **--icon** *iconfile* \]\
               \[ **--manifest** *manifestfile* \]\
               \[ **--info** *key=value;...* \] *exefile*

## DESCRIPTION

This program rewrites PE headers in a Windows executable file.  It can change whether the executable runs with a console window, as well as setting the icons, manifest and version information associated with it. In general, a PE file must have an existing resource section or you cannot add icons, manifests or version info. However, on Win32 platforms a new resource section will be created if none exists.

## OPTIONS

Options are available in a *short* form and a *long* form.  For example, the three lines below are all equivalent:

```
    % exe_update -i new.ico input.exe
    % exe_update --icon new.ico input.exe
    % exe_update --icon=new.ico input.exe
```

- **-c**, **--console**

  Set the executable to always display a console window.

- **-g**, **--gui**

  Set the executable so it does not have a console window.

- **-i**, **--icon**=*FILE*

  Specify an icon file (in *.ico*, *.exe* or *.dll* format) for the executable.

- **-m**, **--manifest**=*FILE*

  Specify a manifest file in *.xml* format for the executable.

- **-N**, **--info**=*KEY=VAL*

  Attach version information for the executable.  The name/value pair is joined by `"="`.  You may specify `"-N"` multiple times, or use `";"` to link several pairs.

  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, specify manifest attributes. 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 as these attributes will be combined with any existing manifest that may be in the executable.

  These special `"KEY"` names are recognized:

  ```
      ExecutionLevel  UIAccess     ExecName   Description
      CommonControls  Version
  ```

  The CommonControls key is a simple boolean value to indicate that the Common Controls Version 6.0.0.0 dependency should be added to the manifest.

  e.g

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

## AUTHORS

Audrey Tang \<cpan@audreyt.org\>

## COPYRIGHT

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.

See \<http://www.perl.com/perl/misc/Artistic.html\>
