X Tutup
Skip to content

[Windows] Fix application manifest in exported projects with modified resources.#111316

Merged
akien-mga merged 1 commit intogodotengine:masterfrom
bruvzg:res_manifest
Oct 7, 2025
Merged

[Windows] Fix application manifest in exported projects with modified resources.#111316
akien-mga merged 1 commit intogodotengine:masterfrom
bruvzg:res_manifest

Conversation

@bruvzg
Copy link
Member

@bruvzg bruvzg commented Oct 6, 2025

Fixes #111278

@bruvzg bruvzg added this to the 4.6 milestone Oct 6, 2025
@bruvzg bruvzg requested a review from a team as a code owner October 6, 2025 08:34
@bruvzg bruvzg added bug platform:windows topic:platforms regression topic:export cherrypick:4.5 Considered for cherry-picking into a future 4.5.x release labels Oct 6, 2025
@akien-mga akien-mga merged commit 9a25d56 into godotengine:master Oct 7, 2025
20 checks passed
@akien-mga
Copy link
Member

Thanks!

@akien-mga
Copy link
Member

Cherry-picked for 4.5.1.

@akien-mga akien-mga removed the cherrypick:4.5 Considered for cherry-picking into a future 4.5.x release label Oct 7, 2025
Copilot AI added a commit to TekisasuEngine/tekisasu that referenced this pull request Nov 26, 2025
…orted Windows projects

This adds the ManifestInfo struct and _create_manifest_info() method to include
a proper Windows application manifest in exported projects. The manifest enables:
- Windows Common Controls 6.0 for proper native dialog appearance
- Long path awareness for Windows 10+

This fixes the "Unable to initialize Windows common controls" warning.

Co-authored-by: Tekisasu-JohnK <80524176+Tekisasu-JohnK@users.noreply.github.com>
Tekisasu-JohnK pushed a commit to TekisasuEngine/tekisasu that referenced this pull request Nov 26, 2025
…gine#111316: Remove rcedit dependency for Windows exports (#25)

Backports godotengine#75950, godotengine#108472, and godotengine#111316 to Tekisasu, implementing native PE resource modification for Windows exports.

This eliminates the need for external rcedit tool and wine on non-Windows platforms when modifying Windows executable resources (icons, version info).

Changes
New TemplateModifier class (platform/windows/export/template_modifier.h/.cpp)

Native PE file parsing and modification
Handles icon embedding and version info without external tools
Updated export_plugin.cpp

Replaced _rcedit_add_data() with _add_data() using TemplateModifier
Removed rcedit/wine path validation and subprocess execution
Removed editor settings

export/windows/rcedit
export/windows/wine (non-Windows only)
Removed string remaps for "rcedit" and "wine" in editor_property_name_processor.cpp

Project version fallback (PR godotengine#108472)

Uses get_version() instead of get() for file_version and product_version fields
Enables fallback to project version when version fields are empty in export preset
Application manifest support (PR godotengine#111316)

Added ManifestInfo struct and _create_manifest_info() method
Includes proper Windows application manifest in exported projects
Enables Windows Common Controls 6.0 for native dialog appearance
Enables long path awareness for Windows 10+
Backport Deviations from Godot 4.5+
Documented with NOTE: comments in code:

Traditional include guards vs #pragma once
modify_template signature uses int p_flags (Tekisasu 4.3.x API)
EDITOR_DEF vs EDITOR_DEF_BASIC
resize_zeroed vs resize_initialized (Tekisasu 4.3.x Vector API)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DisplayServer.dialog_show does nothing in exported projects on Windows

2 participants

X Tutup