microsoft / microsoft/WindowsAppSDK

API request: port System.Diagnostics.FileVersionInfo to WinRT

Open
#3,070 1 comment 3 reactions 0 assignees View on GitHub
feature proposal
Dominant language
C++
Stars
4.7k
Forks
471
Avg merge
3d 13h
Merged PRs (30d)
28

Description

Related to #1083.

To retrieve version info of an executable or DLL, you need to use Win32 API functions defined in WinVer.h. These aren't particularly convenient to use directly, so .NET has provided [System.Diagnostics.FileVersion](https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.fileversioninfo?view=net-6.0). It's fine for the most part but has some drawbacks: marshals all strings, which is wasteful if you only need to access a few properties. It also doesn't give you access to localised strings that are not in the language it determines as preferred (shouldn't be needed in most cases but still useful to have access to).

Consider making a WinRT wrapper that's also accessible to C++ and other languages.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing related issue #1083 and the System.Diagnostics.FileVersionInfo API described here, alongside the WinVer.h functions. Define the scope of a WinRT wrapper for executable and DLL version information, including access to localized strings and use from C++ and other languages; completion would require an agreed API design and implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, csharp
Domain
api, desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.