Use your legacy sites in Chrome.
LegacyBridge connects a Chrome extension to a Windows helper that renders pages with Microsoft's locally installed MSHTML engine. The extension displays the page and sends your input to the helper.
The production setup below describes the planned release. The single setup EXE, Store listing and live subscriptions still need configuration and validation. For the current build, use Current test setup.
Getting started
You need Windows with MSHTML and .NET Framework 4.x, plus Chrome 120 or later. Windows 11 is a target platform; release certification is pending. macOS, Linux and Chromebooks are outside the current scope.
Planned production installation
- Install the Windows helper. Download
LegacyBridgeSetup.exefrom the official LegacyBridge download page and complete setup as your normal Windows user. - Install the Chrome extension. Open the official LegacyBridge Chrome Web Store listing and select Add to Chrome.
- Use Chrome's Extensions menu to pin LegacyBridge. Open its settings, approve the trusted site you want to use, then follow Open a page.
Download and Store links will be added after release validation. The planned installer will register the helper automatically. Public-release users should not need PowerShell or a manually entered extension ID.
If your organization provides LegacyBridge, follow its installation instructions. Your administrator may manage the allowed sites and IE modes.
Open a page
- Visit the approved HTTP(S) page in Chrome.
- Click the LegacyBridge extension button. It checks the Windows helper and opens a viewport. If the helper is unavailable, the
nativehostrequired.htmlsetup page opens with your requested address saved. - On the setup page, install the helper and choose Check again & open my page. A production build with a configured installer URL starts one download automatically; the current preview shows developer setup instead.
- Click inside the displayed page before typing. Use the viewport toolbar for Back, Forward, Refresh and Stop.
Clicking the icon on a page without an eligible HTTP(S) address opens a blank viewport after a successful helper check. Enter a full address beginning with https:// or http://, then press Open. The Settings button opens site approvals, automatic rules and access plans.
Changing the IE mode creates a new helper session. Save your work first; the page will reopen and may require another login. Closing the viewport ends its helper session.
Approve trusted sites
In LegacyBridge settings, enter one exact origin per line under Trusted origins, then select Save settings.
https://legacy.example.com
http://intranet.example.com:8080
An origin includes the protocol, hostname and port when needed. Enter the origin alone; omit paths, queries and fragments. Wildcards and embedded usernames or passwords are rejected.
Approval covers every path on that origin. https://legacy.example.com does not approve http://legacy.example.com or a different subdomain. Ask your administrator which origins the application needs rather than approving unfamiliar login or redirect destinations.
Saving settings disconnects active viewports. Press Open to reconnect with the updated settings. Managed settings are read-only.
A redirected request can contact another origin before its top-level page is cleared. Embedded resources can contact other hosts. Use trusted legacy applications and keep general browsing in Chrome.
Open matching pages automatically
- Approve the site's origin first.
- Under Automatic opening rules, choose Add rule.
- Enter the origin and a path prefix, select an IE mode, then save. Accept Chrome's site-permission prompt for automatic opening.
| Origin | Path prefix | Mode | Result |
|---|---|---|---|
https://legacy.example.com | / | IE11 | All paths on this origin |
https://portal.example.com | /old-app/ | IE8 | Paths beginning with /old-app/ |
LegacyBridge uses exact origins and literal path prefixes. It does not accept IE Tab filter strings, regular expressions or wildcard patterns. Paths are case-sensitive; /app also matches /application. Use /app/ when you want that directory's paths.
The first matching rule is used. Avoid overlapping rules unless their order is intentional. A matching navigation replaces that Chrome tab with a LegacyBridge viewport after Chrome commits the page navigation; it does not prevent the initial Chrome request.
To stop automatic opening, remove the rule and save. Removing a rule leaves its origin approved for manual opening. Chrome permissions already granted for the site are not automatically revoked by removing a rule.
Choose an IE document mode
Start with IE11 or the mode recommended by the application's owner. Set Default document emulation in settings, choose a mode per automatic rule, or change the mode in the viewport toolbar.
IE7 through IE11 are emulation settings of the installed MSHTML engine. They do not install five historical Internet Explorer versions. A page's markup or compatibility headers can affect the actual mode.
The viewport shows Actual document mode reported by the page. Check that value when diagnosing compatibility. An older mode cannot restore APIs missing from the installed engine or guarantee that a modern website will work.
Trial and subscriptions
Current prototype and all-sites test builds have billing disabled. The regular build requires a configured billing product and valid access.
| Plan | Price | Allowance |
|---|---|---|
| Basic | $3/month | 10 hours per UTC calendar month, per Chrome profile |
| Professional | $5/month | Unlimited usage |
| Annual | $30/year | Unlimited usage |
When configured, choose Start 14-day trial in settings and complete the ExtensionPay flow. The trial begins at the email-confirmed start time, not when you install the extension.
Use a plan button in settings to open checkout. Choose Restore / manage subscription and use the email associated with your purchase. Return to settings to refresh access status. Confirm the final price and renewal terms on the payment page.
Basic usage counts active, visible viewports once per profile, even when several are open. Hidden viewports pause metering, but their pages can continue running. The allowance resets at the start of a UTC calendar month. Current metering is local and best effort; it is not an account-wide, cross-device quota.
Troubleshooting
| Issue | What to check |
|---|---|
| This origin is not approved | Add the exact origin in settings, save and press Open again. Include a non-default port. Managed restrictions require your administrator's help. Explicit all-sites tests skip user approvals, but still respect managed restrictions. |
| Native messaging host not found | The helper must be registered for this extension ID and Windows user. Production users will use the official installer; current testers must follow the setup below. |
| Starting Windows IE engine | Startup now fails with an error after a bounded wait. Read that error, check the helper installation and press Open to retry. If the tab still waits indefinitely, close it, reload the updated extension and open a fresh viewport. |
| Helper is too old for all-sites testing | Close existing viewports and update to the matching 0.2.0 or later helper before retrying. Updating the extension alone does not replace installed helper files. |
| Helper ready but no page frame | The first-frame wait is limited to 30 seconds. Close the viewport and retry a known test page. Native dialogs can stall the helper; do not weaken Windows security settings to bypass the failure. |
| Billing not configured / access required | The release product may be unconfigured, verification may have failed, or the trial/allowance may have expired. Check settings and connectivity, then restore access if applicable. |
| Page works in Chrome but fails in LegacyBridge | The old engine may not support the site's JavaScript or other requirements. Use the application's recommended mode and test the actual legacy workflow. |
| Automatic opening does not trigger | Check the exact origin, case-sensitive path prefix, rule order, Chrome site permission and access status. A rule must use an approved origin. |
Use a correctly formatted address, such as https://www.delfi.lt/. http:s//www.delfi.lt is invalid. Permission to open a site does not establish IE compatibility.
Report a problem safely
Include the extension/build version, Windows and Chrome versions, selected and actual document modes, exact error message, and steps to reproduce. Share a sanitized hostname or path only if necessary. Exclude passwords, payment details, session tokens, sensitive query parameters and customer data from screenshots and reports. For help, email [email protected].
Compatibility and safety
The current viewport supports basic left-click, keyboard input, scrolling, resizing and navigation. It displays raster frames; Chrome DevTools cannot inspect the rendered page as a normal Chrome DOM. There is no ie.eval console API.
Java, Silverlight, ActiveX and SharePoint document editing remain unverified. Legacy components may require matching 32-bit runtimes and organization-approved policies. Consult your application owner before installing a plugin.
Popup windows are canceled. Downloads, native dialogs, file selection, clipboard, IME input, accessibility and modifier shortcuts are unsupported or unverified. Applications requiring these features need separate compatibility testing before use.
LegacyBridge is not a network sandbox. Test unfamiliar sites only on an isolated machine without sensitive accounts. Do not disable certificate checks, lower Windows security zones or install unknown ActiveX controls.
Local helper tests cover document modes 7-11, page frames and basic input. Installed Chrome end-to-end, Windows-version certification and real legacy/plugin workflows still need validation. Use the trial to test your application's full workflow once live billing is enabled.
For administrators
The managed-settings schema currently supports AllowedOrigins, AutoRules, DefaultMode and DisableUserSettings. Any supplied managed settings make the settings UI read-only. Rules still need Chrome's applicable host permissions.
See the policy example for the supported data shape. This is an example, not an installation package or verified Group Policy deployment procedure.
Production enterprise deployment instructions will follow validation of the fixed Store extension ID and helper installer. MSI deployment, ADMX/ADML templates, enterprise seat licensing and silent-install switches are not currently provided.
Current test setup
This section is for developers testing the current unsigned build. It is separate from the planned public installation flow. Build commands and prerequisites are in the publisher-provided developer package.
Install or update the helper for the unpacked extension
- Close existing LegacyBridge viewport tabs. Load
dist/extensionthroughchrome://extensionsusing Developer mode and Load unpacked, or reload the existing entry. - Copy its actual extension ID. Run the registration script as the same Windows user after reviewing it.
cd C:\path\to\LegacyBridge
.\scripts\Register-Helper.ps1 -ExtensionId YOUR_ACTUAL_EXTENSION_ID -AllowUnsignedPrototype
Replace the placeholder with the ID shown by Chrome. The script updates per-user registration and helper-specific emulation values. Existing installed helper files and manifests are backed up as .previous. It does not change global IE security zones.
Reloading the same unpacked folder retains its ID. A different folder can change it and require registration for that new ID. An ID from an unpacked build is not assumed to be the production Store ID.
Choose the correct testing build
The local prototype accepts loopback sites only. Start the fixture with node .\scripts\Serve-Fixture.mjs, approve http://127.0.0.1:8765 and open it.
The explicit npm run build:test-all-sites variant is named LegacyBridge - ALL SITES TEST. It allows arbitrary HTTP(S) navigation without user-origin approval, with billing disabled. Managed restrictions still apply. File URLs, executable schemes and embedded URL credentials remain prohibited. Run it only in an isolated test environment.
Remove the current test installation
Close the viewports, then review and run .\scripts\Unregister-Helper.ps1. It removes matching registration and helper emulation values, while retaining helper files and backups. Remove the unpacked extension manually in Chrome. A standard Windows uninstaller is part of the planned setup EXE.
Frequently asked questions
Why is a separate Windows program required?
A Chrome extension cannot directly host the installed MSHTML engine. The native helper renders the page and communicates with the extension through Chrome native messaging.
Will users need to install five EXEs?
The planned single setup EXE will bundle all five IE-mode helper filenames and register them automatically. Users will install the setup package once. The five filenames allow different tabs to use different emulation settings.
Does it work after the Internet Explorer desktop app is removed?
The helper uses the installed MSHTML component rather than launching the desktop app. Actual availability depends on the Windows installation and organization policies. Validate the target Windows systems before deployment.
Will my Chrome login carry over?
Chrome cookies are not forwarded to the helper. Expect to sign in again. Shared login sessions across viewports have not been validated.
Can I use local files?
Current navigation accepts HTTP(S) addresses. It rejects file:// URLs and executable schemes.
Is LegacyBridge made by IE Tab?
LegacyBridge is an independent project. It is not affiliated with IE Tab or Blackfish Software.