Outer Loop — Building the .app for Release
The outer loop produces the .app bundle that installs via AutoCount's
Plug-in Manager. Used for real customer deployments.
Prerequisites
- AutoCount Accounting 2.2 SDK installed (
AppBuilderCmd.exeis onPATHafter that). - The plugin builds cleanly in Release mode.
- Manufacturer metadata matches the registered company name exactly
(see
C:\Dev\Plugin\WMSSyncHub\CLAUDE.md).
The flow
Steps
1. Bump version
Edit WmsSyncHub\Properties\AssemblyInfo.cs and bump
AssemblyVersion + AssemblyFileVersion. Commit.
2. Release build
msbuild WmsSyncHub.sln /p:Configuration=Release /t:Rebuild
Output: WmsSyncHub\bin\Release\WmsSyncHub.dll plus its DevExpress
dependencies.
3. Pack the .app
The .app is just a signed zip with a manifest. Use
AppBuilderCmd.exe (shipped with AutoCount SDK):
AppBuilderCmd.exe pack `
-manifest plugin.manifest.xml `
-output WmsSyncHub.app
The manifest encodes:
Guid = D50D4F42-9AFC-4FA9-A9C8-4FAFDAE4DD96Manufacturer = RUISIN PLASTIC INDUSTRIES SDN BHDManufacturerUrl,SalesPhone,SupportPhone— see the projectCLAUDE.mdfor the exact values.
:::caution Manufacturer must match registered company
AutoCount refuses to install a .app whose manifest manufacturer does
not exactly match the AutoCount registered company name.
RUISIN PLASTIC INDUSTRIES SDN BHD — case matters, trailing dots
matter, do not shorten.
:::
4. Install via Plug-in Manager
On the target machine:
- Open AutoCount → Tools → Plug-in Manager.
- Click Install plug-in, select the
.app. - Restart AutoCount when prompted.
5. First-run migrations
On first launch after install, Migrations.cs runs from the plugin
side (and again from the API side if a fresh API is also being
deployed). Every migration is idempotent — CREATE TABLE IF NOT EXISTS,
AddColumnIfMissing — so re-running is safe.
Uninstall
- Tools → Plug-in Manager → select WMS Sync Hub → Uninstall.
- Restart AutoCount.
- The
Z_Wms*tables are not dropped — you keep the sync history and can re-install without data loss.
Automating the outer loop
Today this is fully manual. A build-and-install.bat exists in the
sibling ATP repo and can be cloned here; TODO tracked in
handoff.md.
Caution
:::caution Do not ship with dev App.config
Never include the dev WMSSyncHubShadowMain\App.config inside the
customer .app bundle — it contains local DB credentials. The
manifest should only pack WmsSyncHub\bin\Release\*.dll and the
plugin's own resources.
:::