40 Commits
Author SHA1 Message Date
mirkobrombin f56b75b178 feat: add the script host's shell and network objects 2026-11-05 19:16:04 +00:00
mirkobrombin 194e1beb59 feat: add the scripting runtime and the script hosts 2026-11-05 18:57:05 +00:00
mirkobrombin 15ca7b37f1 feat: give VBScript regular expressions and GetRef 2026-11-05 18:57:05 +00:00
mirkobrombin 7a2b64551f feat: run VBScript through an own Active Scripting engine 2026-11-05 17:38:04 +00:00
mirkobrombin 177d4aa43f feat: answer ApiInformation from the registered Windows Runtime classes 2026-11-05 06:36:05 +00:00
mirkobrombin bbd8088f73 feat: run WebView2 programs on an own WebView2 runtime over the page engine 2026-11-05 06:31:48 +00:00
mirkobrombin 5566cf91d0 feat: embed a WebBrowser control that activates in place and reports its navigations 2026-11-04 20:55:45 +00:00
mirkobrombin c3a5655444 feat: serve root\cimv2 queries through an own management instrumentation component 2026-11-04 20:42:18 +00:00
mirkobrombin dc1f9c1c85 feat: answer what an updater bootstrapper asks of the system
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: registry, security, shell and system answers an updater bootstrapper needs, with its test client
2026-11-03 15:48:46 +00:00
mirkobrombin b6bbee7ee6 feat: add a background transfer manager that downloads through WinHTTP 2026-11-03 10:29:28 +00:00
mirkobrombin 52c35cea9c fix: let the .NET Framework 4.8 setup run its install
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: version layer for its setup, expanded service paths, seeded services, 64-bit packages in the native engine, dism KB4019990, missing shell and event log calls
2026-11-02 18:53:06 +00:00
mirkobrombin 40de9e9c92 chore: merge pull request #96 from rayzorben 2026-11-02 14:59:46 +00:00
mirkobrombin 5df7d425db chore: merge pull request #95 from rayzorben 2026-11-02 14:59:30 +00:00
Raymond Bennett d0a986492c feat: provide Windows.Web.Http and Windows.Foundation.Uri over WinINet
raven-web.dll serves HttpClient, HttpBaseProtocolFilter with its cache
control, HttpMethod, HttpRequestMessage, HttpResponseMessage, the request,
response and content header collections (with Connection, User-Agent,
dates, lengths and Retry-After typed), response content read as a
buffer, string or stream, and Windows.Foundation.Uri over urlmon's IUri.
Requests go through WinINet, which Windows' base protocol filter sits on
too; redirections are followed and reflected in the request's URI.
winget checks its package source's version with a HEAD request this way.

The interfaces are the C declarations generated from Microsoft's
published metadata (windows.web.http.h, on raven-winrt's foundation.h);
the component is always built. native/upstream/raven-winrt holds the
plumbing the classes share (objects answering several interfaces,
asynchronous operations, boxed values, buffers, string maps, item
lists), for later components to use as well. Typed header values not
modelled yet, the request property bag, transport information and
custom certificate validation answer E_NOTIMPL.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: the component, the shared plumbing, CMake and registry wiring, the web_client test
2026-10-31 14:40:21 -07:00
Raymond Bennett aadce22347 feat: read .appx and .msix packages through the packaging API
raven-appx.dll serves the AppxFactory and AppxBundleFactory classes
that package managers open packages with (winget reads its source
package this way). A package reader checks that the package is a ZIP
archive (ZIP64 records included) with a manifest, a block map and
content types, and that the block map lists every payload file with its
size; a file's content is then inflated and checked against the block
map's hash one 64 KiB block at a time as it is read, failing with
APPX_E_CORRUPT_CONTENT where it differs. The manifest reader gives the
identity with the package's full and family names, properties,
dependencies, target device families, capabilities, resources,
prerequisites and applications; the block map reader its files and
blocks. A bundle opened as a package, or a package as a bundle, answers
APPX_E_MISSING_REQUIRED_FILE, as programs tell the two apart.

The component is built by provision-installer.py beside cabinet.dll, on
the same zlib, and reads XML with xmllite; the factories are registered
in both registry views. Writing packages, reading bundles, block maps
validated against a signature, IAppxDigestProvider and the later
manifest reader interfaces answer E_NOTIMPL.

The test writes its packages with appx_fixtures.py, as package writers
make them, and reads them back in 64-bit and 32-bit processes.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: the component, its provisioning, registry and packaging wiring, the fixture generator and the appx_client test
2026-10-31 13:57:58 -07:00
mirkobrombin 65c748ce59 feat: add the WinRT language class 2026-10-31 19:46:17 +00:00
mirkobrombin d07857d215 chore: merge pull request #93 from rayzorben/feat/analytics-info 2026-10-31 08:15:51 +00:00
mirkobrombin d582652232 fix: fill the host gaps the guest components hit
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Added missing window, GDI, memory, text and multibyte behavior in the host that the own guest components need.
2026-10-31 06:18:52 +00:00
Raymond Bennett 2d70273fd2 feat: add the AnalyticsInfo runtime class
Programs ask Windows.System.Profile.AnalyticsInfo which device family and
version of Windows they run on; winget's engine activates it by name. The
class joins RetailInfo and SharedModeSettings in raven-twinapi.dll: the
family is Windows.Desktop, its version the four numbers RtlGetVersion and
the registry's update build revision give, packed in sixteen bits each and
written in decimal, and the form Desktop.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: the AnalyticsInfo statics and version info in twinapi.c, their registration and the check_analytics part of the twinapi_client test
2026-10-30 08:21:22 -07:00
mirkobrombin b3f5944f9a fix: report Internet Explorer in the registry
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Seeded the Internet Explorer version keys Windows 10 has, which installers read as a requirement.
2026-10-30 10:34:51 +00:00
mirkobrombin 55d6cf632f fix: give a key's handle back whenever the registry closes it 2026-10-29 21:26:19 +00:00
mirkobrombin 8faeb22b05 feat: serve online ID ticket requests and name missing runtime classes
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the online ID ticket request handling, the missing class names in the WinRT trace and the twinapi client checks.
2026-10-29 18:08:17 +00:00
mirkobrombin 0bb7dd6f04 feat: serve Windows Runtime system classes Office asks for at startup
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the twinapi Windows Runtime system classes, their shell and netlist hooks and the twinapi client test, after Office stopped at startup on missing runtime classes.
2026-10-29 17:10:05 +00:00
mirkobrombin 7e3c28a0d4 feat: add the UISettings runtime class 2026-10-29 09:57:47 +00:00
mirkobrombin 894625a5aa fix: open the machine and user class keys as the classes root 2026-10-27 19:19:52 +00:00
mirkobrombin b387f9f6f2 feat: serve App-V package files from their virtual file system folders 2026-10-27 16:10:47 +00:00
mirkobrombin cdf92e2db3 fix: add missing default values to registry hives imported from an installation 2026-10-27 16:09:30 +00:00
mirkobrombin 7ebf58957c feat: add RegSetKeyValue and the key and value information classes of the native registry API 2026-10-27 14:46:45 +00:00
mirkobrombin 267d3056d4 feat: register the classes of the new components
Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Registered the new component classes and listed the components as runtime ones.
2026-10-27 09:11:42 +00:00
mirkobrombin 44a593867c feat: run an SSH client's terminal and file transfer windows 2026-10-26 23:13:38 +00:00
Mirko Brombin d685d104b2 feat: append each registry change to the hive file instead of rewriting it 2026-09-23 16:25:34 +00:00
Mirko Brombin f4509d0c1f feat: implement the Windows APIs that .NET programs and their installers call 2026-09-23 00:12:56 +00:00
Mirko Brombin 5a7ddd342b feat: report DirectX 9.0c in the registry as Windows 10 does 2026-09-21 23:48:03 +00:00
Mirko Brombin eab5613891 feat: register the Windows Installer service and report the build Windows 10 22H2 has 2026-09-21 19:09:11 +00:00
Mirko Brombin 5c862e6dbf feat: add delete registry trees, open HKLM\SOFTWARE as its 32-bit view for 32-bit programs and honor the explicit WOW64 view flags 2026-09-21 04:26:15 +00:00
Mirko Brombin 26fbeabc78 feat: run Steam's web UI with cross-process handles, per-thread message queues, socket events and process identity 2026-09-03 16:48:12 +02:00
Mirko Brombin 66087052d8 feat: run Chromium's helper processes with DirectWrite, named pipes, jobs, inherited handles and shared sections 2026-09-03 06:06:54 +02:00
Mirko Brombin a7256dafac feat: run the Steam installer to Finish with child processes, shell links and sockets 2026-09-03 01:15:07 +02:00
Mirko Brombin cd91b52e20 feat: add menu, window manager, registry, shell, version and platform APIs for Notepad++ bring-up 2026-07-31 22:56:57 +02:00
Mirko Brombin 548776cc81 feat: add x86 CRT, persistent registry and prefix INI services 2026-07-31 18:29:43 +02:00