McBasic™Get McBasic™ ↗
Build 881
Guided workflow

Publish and test your first cross-platform app

Export the complete Modern Workbench, then validate its artifact on the destination desktop.

Step 1Establish a working baseline#

Download and complete Modern Workbench. Run Check, both unit tests and every listed interaction on Mac. Save a Git checkpoint. Do not proceed with a broken baseline.

Step 2Choose identity, appearance and architecture#

Open Project Settings. Keep Classic for this exercise and enter your practice app identity. Use a square PNG only if adding an icon; otherwise keep the default. Decide whether the destination is Windows/Linux and x64/ARM64. Export support does not change where the IDE runs.

Step 3Create a local artifact#

Choose Project → Publish Local App, select the Platform and a new folder outside the project. Read warnings and record the artifact path. The CLI equivalent is below; choose one command, from the extracted practice folder.

Use a fresh output folder for each target
mcbasic publish ModernWorkbench.mcproj --target win-x64 --output ./release-windows
mcbasic publish ModernWorkbench.mcproj --target linux-x64 --output ./release-linux

Step 4Repeat the behavioral checks on the destination#

Transfer only the artifact you built. Launch it on the destination desktop, allow the Free Edition splash to finish, then repeat every workbench check. Test the menu shortcut using Ctrl, resize the window, check readable text and close it. Run the separate services lesson before relying on printing or media.

Step 5Fix differences before sharing#

Compare failures with the platform matrix. Correct the project, repeat Mac tests, republish into a fresh destination and rerun native acceptance. Store target, app version and test results beside your release checkpoint.

Source baseline 20f4bfed6b · Build manifest
Sources & maintenance

Original web explanation, reviewed against these repository sources. API tables and example files follow the implementation.

  • docs/manual/33-publishing-for-windows.md
  • docs/manual/34-publishing-for-linux.md
  • src/McBasic.Build/PublishTargets.cs
  • src/McBasic.Build/PlatformAvailabilityCheck.cs
  • src/McBasic.Runtime/McPlatformAvailability.cs