What is MIME type "application/vnd.microsoft.portable-executable"?
A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.
application/vnd.microsoft.portable-executable is the MIME type for the Windows Portable Executable (PE) format. This format is used for binary files that contain executable code and resources. It tells systems and applications how to load and run these files.
The PE format is a container. It separates code, data, and resources. It includes headers that describe memory usage, linking information, and more. This structure helps the operating system manage the file correctly.
Files using this MIME type are central to Windows. They include programs, libraries, drivers, and firmware components. For example, you see the following file types:
- Executable Programs – like EXE, which start applications.
- Shared Libraries – such as DLL, which provide code for other programs.
- System Files – like SYS and DRV, used for device drivers.
- Other Executable Content – including SCR (screensavers), EFI (firmware boot loaders), MUI (multilingual user interfaces), TSP, AX, and ACM.
This MIME type is used in web servers and email attachments to signal that a file is a compiled, executable binary. Developers and system administrators may inspect the PE headers to debug, secure, or optimize these files.
In summary, application/vnd.microsoft.portable-executable identifies a file that follows the Windows PE format. It ensures that the file is handled correctly by Windows systems, whether the file is an application, a library, or a system component.
For more technical details, see Portable Executable on Wikipedia.
Associated file extensions
.exe, .dll, .scr, .efi, .sys, .mui, .tsp, .drv, .ax, .acm
Usage Examples
HTTP Header
When serving content with this MIME type, set the Content-Type header:
Content-Type: application/vnd.microsoft.portable-executable
HTML
In HTML, you can specify the MIME type in various elements:
<a href="file.dat" type="application/vnd.microsoft.portable-executable">Download file</a>
Server-side (Node.js)
Setting the Content-Type header in Node.js:
const http = require('http');
http.createServer((req, res) => {
res.setHeader('Content-Type', 'application/vnd.microsoft.portable-executable');
res.end('Content here');
}).listen(3000);
Associated file extensions
.exe, .dll, .scr, .efi, .sys, .mui, .tsp, .drv, .ax, .acm
FAQs
What files typically use the application/vnd.microsoft.portable-executable MIME type?
This MIME type is used for Windows Portable Executable (PE) files, which include programs and system components. Common extensions include EXE (applications), DLL (libraries), and SCR (screensavers).
Why do browsers show a security warning when downloading this type of file?
Files identified as application/vnd.microsoft.portable-executable contain compiled code that runs directly on your operating system. Because malicious code (viruses or malware) often uses this format, browsers warn you to ensure you trust the source before saving or running the file.
How do I configure Nginx to serve .exe files with this MIME type?
You can assign the MIME type in your nginx.conf or mime.types file. Add the line application/vnd.microsoft.portable-executable exe dll; inside the types { ... } block to ensure the correct header is sent.
Is application/vnd.microsoft.portable-executable the same as application/x-msdownload?
They serve similar purposes but are distinct. application/x-msdownload is an older, very common convention for Windows executables, while application/vnd.microsoft.portable-executable is the specific standard for the PE format. Many servers use application/octet-stream as a generic fallback for both.
Why does my email server block attachments with this MIME type?
Email providers frequently block this MIME type because executable files are the most common way to deliver ransomware and viruses. To send an EXE or DLL via email, it is best to compress it into a ZIP file first.
Can I run files with this MIME type on Linux or macOS?
Not natively. The Portable Executable format is designed specifically for Microsoft Windows architecture. To run these files on Linux or macOS, you generally need compatibility software like Wine or a virtual machine.
How do I add support for this MIME type in Apache?
You can update your .htaccess file or main configuration. Add the directive AddType application/vnd.microsoft.portable-executable .exe .dll .scr to instruct Apache to serve these extensions with the correct MIME header.
What is the relationship between this MIME type and system drivers?
Windows system drivers, such as SYS and DRV files, use the same PE file structure as standard programs. Consequently, they can be correctly identified by the application/vnd.microsoft.portable-executable MIME type, even though users do not launch them directly.
General FAQ
What is a MIME type?
A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.
MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.
MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.
How do I find the MIME type for a file?
You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.
Why are multiple MIME types listed for one extension?
Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.