Files
autodesk/migration/audits/p-rec-annot-legacy-loading/loading-chain.md
T

30 lines
2.2 KiB
Markdown

# Proven legacy loading chain
```text
Unknown external bootstrap
-> NETLOAD of deployed OrthoLoader.dll (not evidenced in audited directories)
-> OrthoLoader.Ribbon.Initialize()
-> subscribe ComponentManager.ItemInitialized
-> OrthoLoader.Initialize()
-> adjacent Settings.xml / Main/LoadAssemblies/LoadAssembly
-> sequential acDoc.Editor.Command("._netload", fullPath) for 20 DLLs
-> each DLL exposes CommandMethod commands
-> Ribbon ItemInitialized creates PluginsOrtho tab and command buttons
```
| Claim | Evidence | Confidence |
|---|---|---|
| Central loader is `OrthoLoader.dll` | `OrthoLoader/Ribbon.cs:151-156`; deployed DLL metadata and `Settings.xml` | High |
| Module list is read from adjacent `Settings.xml` | `OrthoLoader/Loader.cs:104-112` | High |
| Module loading is programmatic `._netload`, in XML order | `OrthoLoader/Loader.cs:63-81`; `configuration-map.csv` | High |
| Full DLL path is loader directory + configured filename | `OrthoLoader/Loader.cs:49, 65` | High |
| Modules load from the same directory as OrthoLoader | `Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)` in `Loader.cs:49,65` | High |
| Modules loaded directly from UNC | true only if external bootstrap NETLOADed the deployed UNC copy; bootstrap is outside audit scope | Unknown |
| Missing/failed module stops later loading and shows MessageBox | single outer try/catch around the loop, `Loader.cs:63-99` | High |
| Ribbon owner is OrthoLoader | `OrthoLoader/Ribbon.cs:16-19,151-172,193-321` | High |
| Initial bootstrap mechanism | no LISP/CUI/ARG/REG/PackageContents file found in either audited directory | Unknown |
`Assembly.LoadFrom` occurs inside several legacy command implementations for secondary dependencies. It is not the mechanism used by `OrthoLoader` to load its configured modules. `EnablerLoader` separately uses `Assembly.LoadFile` for the Plant enabler from the host base directory.
No `PackageContents.xml`, `*.bundle`, registry demand-load registration, LISP, CUI, MNL, script, batch, or PowerShell bootstrap was found in the audited locations. This proves absence only within audit scope; it does not prove the workstation bootstrap did not exist elsewhere.