Skill Development Guide

Last Updated: January 21, 2026
Purpose: Learning roadmap for a solo developer with no prior experience in these technologies
Approach: Learn just-in-time, focused on what’s needed for each phase

How to Use This Document

This guide is organized by phase and timeline. Focus only on the skills needed for your current phase. Don’t try to learn everything at once.

Recommended approach:

  1. Start with the current phase’s skills (Sprint: Jan 21 - Feb 24)

  2. Spend 2-4 hours on foundational resources before attempting tasks

  3. Use reference materials while working

  4. Move to next phase’s skills 1-2 weeks before that phase starts


Quick Reference: Skills by Phase

Phase

Timeline

Primary Skills

Difficulty

Sprint

Jan 21 - Feb 24

InstallScript, VLIDE, AutoLISP basics

Medium

WiX Migration

Feb 24 - Mar 21

WiX Toolset, MSI concepts, Code signing

Medium-High

P2: Parity

Apr - May

Testing, AutoCAD scripting

Low-Medium

P3: Modern AutoCAD

Jun - Sep

.bundle format, ADN, App Store

Medium

P4: Cloud

Oct - Dec

Web services, licensing

High

P5: Web/AI

2027+

JavaScript, .NET, APS

High


Training & Professional Development Summary

This section mirrors the cover sheet and provides a consolidated view of all training activities.

Self-Study Resources (Free/Low-Cost)

Topic

Resource

Cost

Duration

Status

WiX Toolset 4.x

Official WiX Documentation

$0

10 hrs

🔜 P1B

WiX Toolset

Pluralsight: WiX Fundamentals

$29

4 hrs

🔜 P1B

AutoLISP/Visual LISP

Autodesk Knowledge Network (free)

$0

20 hrs

⏳ Active

VLIDE

AutoLISP Developer’s Guide (PDF)

$0

15 hrs

⏳ Active

DCL Dialog Design

DCL Reference Manual

$0

8 hrs

⏳ Active

MSI Packaging

Windows Installer SDK Docs

$0

10 hrs

🔜 P1B

Git/GitHub Actions

GitHub Learning Lab

$0

5 hrs

✅ Done

Hands-On Learning (Planned Activities)

Activity

Purpose

Phase

Hours

Reverse-engineer sample WiX installers

Learn MSI best practices

P1B

8

Build PoC .bundle for AutoCAD

Understand App Store requirements

P3

16

Attend Autodesk University (virtual)

Network + learn modern APIs

Nov 2026

20

Shadow AutoCAD plugin developers (forums)

Community best practices

Ongoing

4/mo

Knowledge Transfer Preparation

Deliverable

Purpose

Due Date

Video recording of build process

Onboarding future developers

Dec 2026

Runbook documentation

Support staff training

Dec 2026

Code comments and architecture docs

Maintainability

Nov 2026

Total Training Investment: $0-$578 (certification optional)
Total Training Hours: ~120 hours across 2026


Phase 1A: Sprint Skills (Jan 21 - Feb 24)

1. Windows XP Virtual Machine Setup

Why: InstallShield 5.x only runs on Windows XP
Time to learn: 2-4 hours
Difficulty: Low

Core concepts:

  • Virtual machine basics (host vs guest)

  • Snapshots and rollback

  • Shared folders between host and VM

  • Network bridging for file transfer

Recommended resources:

Resource

Type

Link

Notes

VirtualBox Manual Ch. 1-3

Documentation

https://www.virtualbox.org/manual/

Free, comprehensive

VMware Workstation Player

Alternative

https://www.vmware.com/products/workstation-player.html

Free for personal use

“Setting Up Windows XP in VirtualBox”

Video

YouTube search

Many tutorials available

Practice exercise:

  1. Install VirtualBox or VMware

  2. Create Windows XP VM from ISO

  3. Install VirtualBox Guest Additions

  4. Set up shared folder with host

  5. Take a snapshot before making changes


2. InstallScript (InstallShield 5.x)

Why: Need to understand setup.rul (4,163 lines) and fix bugs
Time to learn: 8-16 hours
Difficulty: Medium

Core concepts to understand:

  • InstallScript syntax (C-like language)

  • Dialog functions (SdWelcome, SdAskDestPath, etc.)

  • File operations (CopyFile, DeleteFile, XCopyFile)

  • Registry operations (RegDBSetKeyValue, RegDBGetKeyValue)

  • String manipulation (StrFind, StrSub, StrLength)

  • Program execution (LaunchApp, WaitForProgram)

Key functions in our setup.rul:

// AutoCAD detection (buggy - needs fixing)
FindFile()
RenameFile()

// Menu registration (buggy - needs fixing)
RegDBGetKeyValue()
RegDBSetKeyValue()

// File installation
XCopyFile()
ComponentMoveData()

Recommended resources:

Resource

Type

Notes

InstallShield 5.x Help File

Documentation

Included with InstallShield installation

“InstallScript Language Reference”

PDF

Search for archived documentation

setup.rul (our file)

Reference

Read with comments, 4,163 lines

Learning approach:

  1. Read setup.rul from top to bottom (2-3 hours)

  2. Add comments to understand each section

  3. Look up unfamiliar functions in help file

  4. Identify the bug locations (AutoCAD detection, menu registration)

  5. Practice small changes in isolated test projects

Practice exercise:

  1. Create a simple “Hello World” installer in InstallShield

  2. Add a dialog that asks for user input

  3. Write a value to the registry

  4. Copy a file to a destination folder

  5. Read back the registry value to verify


3. AutoLISP Basics

Why: Need to understand the 77 LSP files and potential fixes
Time to learn: 8-16 hours
Difficulty: Medium

Core concepts:

  • LISP syntax (prefix notation, parentheses)

  • Variables and data types (setq, integers, reals, strings, lists)

  • Functions (defun, arguments, return values)

  • Conditionals (if, cond, and, or)

  • Loops (repeat, while, foreach)

  • AutoCAD interaction (command, getpoint, getstring, entsel)

  • File I/O (open, read-line, write-line, close)

Example - understanding our code:

;; From main.lsp - typical function structure
(defun C:CSV-MAIN ()
  (setq oldcmd (getvar "CMDECHO"))  ; Save current setting
  (setvar "CMDECHO" 0)              ; Turn off command echo
  ;; ... main logic ...
  (setvar "CMDECHO" oldcmd)         ; Restore setting
  (princ)                           ; Clean exit
)

Recommended resources:

Resource

Type

Link

Notes

“AutoLISP Developer’s Guide”

Documentation

Autodesk Help

Official, comprehensive

AfraLISP Tutorial

Website

https://www.afralisp.net/

Beginner-friendly

“The AutoLISP Tutorial” by Tony Tanzillo

PDF

Search online

Classic resource

Lee Mac’s Website

Website

http://www.lee-mac.com/

Advanced examples

Practice exercise:

  1. Load AutoCAD and open VLIDE (Tools → AutoLISP → Visual LISP Editor)

  2. Type (+ 1 2) in console, press Enter → should return 3

  3. Create a simple function that draws a line

  4. Load one of our LSP files and trace through it

  5. Add a (princ "DEBUG: reached here") statement to trace execution


4. Visual LISP IDE (VLIDE) & VLX Compilation

Why: Need to recompile VLX from LSP source files
Time to learn: 4-8 hours
Difficulty: Low-Medium

Core concepts:

  • VLIDE interface (Console, Editor, Project)

  • Loading LSP files (load function)

  • Creating projects (.prj files)

  • Compiling to FAS (single file compiled)

  • Packaging to VLX (multiple FAS files bundled)

  • Application paths and load order

VLX compilation steps:

  1. Open VLIDE in AutoCAD

  2. Create new project

  3. Add all LSP files to project

  4. Set compilation options

  5. Build → Make Application → VLX

  6. Test loading the VLX

Recommended resources:

Resource

Type

Notes

AutoCAD VLIDE Help

Documentation

Press F1 in VLIDE

“Creating VLX Applications”

Autodesk KB

Search Autodesk knowledge base

Our csv.lsp and main.lsp

Reference

Understand load order

Practice exercise:

  1. Open VLIDE in AutoCAD

  2. Load a single LSP file with (load "filename.lsp")

  3. Create a project with 2-3 LSP files

  4. Compile to VLX

  5. Test the VLX loads correctly: (load "test.vlx")


5. DCL (Dialog Control Language)

Why: 43 dialog files define the UI - may need minor fixes
Time to learn: 4-8 hours
Difficulty: Low-Medium

Core concepts:

  • DCL file structure (dialog definition)

  • Control types (button, edit_box, list_box, popup_list, toggle, image)

  • Layout (row, column, boxed_row, boxed_column)

  • Callbacks (action expressions)

  • AutoLISP integration (load_dialog, start_dialog, done_dialog)

Example DCL structure:

// From calc_dlg.dcl - typical dialog
calc_dialog : dialog {
  label = "Calculator";
  : column {
    : edit_box {
      key = "input1";
      label = "Value 1:";
    }
    : edit_box {
      key = "input2";
      label = "Value 2:";
    }
  }
  ok_cancel;
}

Recommended resources:

Resource

Type

Link

Notes

“DCL Programmer’s Reference”

Autodesk Help

Autodesk docs

Official reference

AfraLISP DCL Tutorials

Website

https://www.afralisp.net/dcl/

Step-by-step

Our *.dcl files

Reference

43 files to study

Practice exercise:

  1. Open one of our DCL files (e.g., calc_dlg.dcl)

  2. Find the corresponding LSP file (calc_dlg.lsp)

  3. Understand how they connect (load_dialog, new_dialog, start_dialog)

  4. Make a small change (label text) and test

  5. Create a simple dialog from scratch


Phase 1B: WiX Migration Skills (Feb 24 - Mar 21)

6. Windows Installer (MSI) Concepts

Why: WiX creates MSI files - need to understand the underlying technology
Time to learn: 4-8 hours
Difficulty: Medium

Core concepts:

  • Components and features

  • Installation sequences

  • Registry and file system operations

  • Custom actions

  • Conditions and properties

  • Upgrade and patch mechanisms

Recommended resources:

Resource

Type

Link

Notes

“Windows Installer Concepts”

Microsoft Docs

docs.microsoft.com

Official concepts

“The Definitive Guide to Windows Installer”

Book

ISBN 1590592972

Comprehensive (older but valid)

Orca (MSI Editor)

Tool

Windows SDK

Inspect existing MSI files


7. WiX Toolset 4.x

Why: Modern installer framework replacing InstallShield
Time to learn: 16-24 hours
Difficulty: Medium-High

Core concepts:

  • WiX XML schema (Product, Package, Feature, Component)

  • Directory structure definition

  • File harvesting (heat.exe)

  • UI customization (WixUI)

  • Custom actions

  • Build integration

WiX file structure example:

<?xml version="1.0"?>
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
  <Package Name="ConstructiVision"
           Manufacturer="ConstructiVision"
           Version="7.0.0.0"
           UpgradeCode="PUT-GUID-HERE">

    <MajorUpgrade DowngradeErrorMessage="Newer version installed." />

    <Feature Id="Main">
      <ComponentGroupRef Id="ProductComponents" />
    </Feature>
  </Package>
</Wix>

Recommended resources:

Resource

Type

Link

Notes

WiX Toolset Documentation

Official

https://wixtoolset.org/docs/

Start here

“WiX 4 Tutorial”

GitHub

github.com/wixtoolset

Official examples

FireGiant Tutorials

Website

https://www.firegiant.com/docs/wix/

Company behind WiX

Nick Ramirez’s WiX Tutorial

Website

Search online

Practical examples

Practice exercise:

  1. Install WiX Toolset 4.x

  2. Create “Hello World” MSI that installs one file

  3. Add a registry key

  4. Add a custom dialog

  5. Build and test install/uninstall

  6. Examine the MSI with Orca


8. Code Signing

Why: Required for SmartScreen trust and App Store
Time to learn: 2-4 hours
Difficulty: Low (but requires purchase)

Core concepts:

  • Certificate types (Standard vs EV)

  • Certificate stores

  • SignTool.exe usage

  • Timestamp servers

  • SmartScreen reputation

Recommended resources:

Resource

Type

Link

Notes

“SignTool Documentation”

Microsoft Docs

docs.microsoft.com

Official tool docs

DigiCert Code Signing Guide

Vendor

digicert.com

Purchase + instructions

Sectigo Code Signing

Vendor

sectigo.com

Alternative vendor

Certificate purchase checklist:

  • Choose vendor (DigiCert, Sectigo, Certum)

  • EV certificate recommended ($400-700/year)

  • Complete identity verification (takes days)

  • Set up hardware token (EV requires this)

  • Configure SignTool in build process


Phase 2: Parity Testing Skills (Apr - May)

9. Software Testing Fundamentals

Why: Need to verify rebuilt software matches original behavior
Time to learn: 4-8 hours
Difficulty: Low

Core concepts:

  • Test cases and expected results

  • Regression testing

  • Manual vs automated testing

  • Test documentation

  • Bug tracking

Recommended resources:

Resource

Type

Link

Notes

“Software Testing Fundamentals”

Website

softwaretestingfundamentals.com

Free basics

“The Art of Software Testing”

Book

ISBN 1118031962

Classic reference


10. AutoCAD Scripting for Testing

Why: Automate repetitive tests across AutoCAD versions
Time to learn: 4-8 hours
Difficulty: Low-Medium

Core concepts:

  • SCR (script) files

  • Command-line AutoCAD

  • Batch processing

  • Output comparison

Example test script:

; test_panel.scr
; Load ConstructiVision and run a test
(load "csv.vlx")
CSV-MAIN
; Navigate dialog, enter test values
; Save output for comparison
QSAVE
QUIT

Phase 3: Modern AutoCAD Skills (Jun - Sep)

11. AutoCAD .bundle Format

Why: Required for AutoCAD 2006+ and App Store
Time to learn: 4-8 hours
Difficulty: Medium

Core concepts:

  • PackageContents.xml structure

  • Application registration

  • Version targeting

  • AutoCAD ApplicationPlugins folder

Bundle structure:

ConstructiVision.bundle/
├── PackageContents.xml
├── Contents/
│   ├── csv.vlx
│   ├── *.dcl
│   └── Resources/

Recommended resources:

Resource

Type

Link

Notes

“PackageContents.xml Format”

Autodesk Help

help.autodesk.com

Official spec

Autodesk App Store Developer Guide

Documentation

apps.autodesk.com/developers

Submission requirements


12. Autodesk Developer Network (ADN)

Why: Required for App Store access and support
Time to learn: 2-4 hours (registration process)
Difficulty: Low (administrative)

Steps:

  1. Create Autodesk account

  2. Apply for ADN Developer membership (~$500/year)

  3. Review App Store guidelines

  4. Complete publisher profile

  5. Prepare submission materials

Resources:

Resource

Type

Link

ADN Membership

Website

https://www.autodesk.com/developer-network

App Store Publisher Guide

Documentation

apps.autodesk.com


Phase 4: Cloud Skills (Oct - Dec)

13. Web Services Fundamentals

Why: Subscription and licensing services
Time to learn: 16-24 hours
Difficulty: High

Core concepts:

  • HTTP/REST basics

  • JSON data format

  • API design

  • Authentication (OAuth, API keys)

  • Database basics

Recommended resources:

Resource

Type

Link

Notes

freeCodeCamp

Course

freecodecamp.org

Free, comprehensive

“REST API Tutorial”

Website

restapitutorial.com

Quick reference

Postman Learning Center

Tool + Tutorials

postman.com

API testing tool


14. Software Licensing Concepts

Why: Need to implement subscription/entitlement system
Time to learn: 4-8 hours
Difficulty: Medium

Core concepts:

  • License types (perpetual, subscription, seat-based)

  • Entitlement verification

  • Offline grace periods

  • License servers vs cloud verification


Phase 5: Web/AI Skills (2027+)

15. JavaScript/TypeScript

Why: Browser-based utilities and web UI
Time to learn: 40-80 hours
Difficulty: High

Recommended resources:

Resource

Type

Link

Notes

JavaScript.info

Tutorial

javascript.info

Modern, comprehensive

TypeScript Handbook

Documentation

typescriptlang.org

Official docs

freeCodeCamp JavaScript

Course

freecodecamp.org

Free certification


16. .NET Web Development

Why: Backend services and API
Time to learn: 40-80 hours
Difficulty: High

Recommended resources:

Resource

Type

Link

Notes

Microsoft Learn

Course

learn.microsoft.com

Official, free

“ASP.NET Core in Action”

Book

ISBN 1617298301

Comprehensive


17. Autodesk Platform Services (APS)

Why: Design Automation API for headless AutoCAD
Time to learn: 24-40 hours
Difficulty: High

Recommended resources:

Resource

Type

Link

Notes

APS Documentation

Official

aps.autodesk.com

Start here

Autodesk University Classes

Videos

autodesk.com/autodesk-university

Free recordings

Forge (legacy name) Tutorials

GitHub

github.com/Autodesk-Forge

Code samples


Learning Schedule Recommendation

Sprint Phase (Now - Feb 24)

Week

Focus

Hours

Activities

Week 1 (Jan 21-27)

VM + InstallScript

8-12

Set up XP VM, read setup.rul

Week 2 (Jan 27 - Feb 3)

InstallScript + AutoLISP

8-12

Fix bugs, study LSP files

Week 3 (Feb 3-10)

VLIDE + DCL

6-8

Compile VLX, test dialogs

Week 4-5 (Feb 10-24)

Testing

4-6

OS/AutoCAD compatibility

Pre-WiX Phase (Feb 17-24)

Day

Focus

Hours

Activities

Mon-Tue

MSI Concepts

4

Read Windows Installer docs

Wed-Thu

WiX Basics

4

Install WiX, “Hello World”

Fri

WiX Practice

2

Simple installer project

Pre-P3 Phase (May)

Week

Focus

Hours

Activities

Week 1

.bundle format

4

Read docs, create structure

Week 2

ADN Registration

4

Sign up, review guidelines


Tips for Self-Learning

General Approach

  1. Time-box learning - Don’t spend more than 2-4 hours on theory before practicing

  2. Learn by doing - Create small test projects before touching production code

  3. Take notes - Document what you learn in comments or separate notes

  4. Use AI assistance - Ask Claude/Copilot to explain code you don’t understand

  5. Accept imperfection - First attempt won’t be perfect; iterate

When You’re Stuck

  1. Read error messages carefully - They often tell you exactly what’s wrong

  2. Search the exact error message - Someone else has probably hit it

  3. Check official documentation - Often more accurate than blog posts

  4. Ask in forums - Stack Overflow, Autodesk forums, Reddit

  5. Take a break - Fresh eyes often find the problem


Tool Setup Checklist

Immediate (Sprint)

  • VirtualBox or VMware installed

  • Windows XP ISO obtained (legal copy)

  • Windows XP VM created and working

  • InstallShield 5.x installed in XP VM

  • AutoCAD installed (any version for VLIDE)

  • VS Code installed for editing

  • Git configured for version control

Phase 1B (WiX)

  • WiX Toolset 4.x installed

  • Visual Studio or VS Code with WiX extension

  • Orca (MSI inspector) from Windows SDK

  • Code signing certificate purchased

  • SignTool configured

Phase 3 (Modern AutoCAD)

  • AutoCAD 2026 license/trial

  • ADN Developer membership

  • App Store publisher account


Quick Reference Card

InstallScript Common Functions

// File operations
CopyFile(szSrc, szDest);
XCopyFile(szSrc, szDest, nOp);
DeleteFile(szFile);
FindFile(szPath, szFile, szResult);
RenameFile(szOld, szNew);

// Registry
RegDBSetKeyValue(szKey, szName, nType, szValue, nSize);
RegDBGetKeyValue(szKey, szName, nType, szValue, nSize);

// Dialogs
SdWelcome(szTitle, szMsg);
SdAskDestPath(szTitle, szMsg, szDir, nReserved);
SdFinish(szTitle, szMsg1, szMsg2, szOpt1, szOpt2, bOpt1, bOpt2);

AutoLISP Common Functions

;; Variables
(setq x 10)
(setq name "test")

;; Math
(+ 1 2)  3
(* 3 4)  12

;; Strings
(strcat "Hello" " " "World")  "Hello World"
(strlen "test")  4

;; Lists
(list 1 2 3)  (1 2 3)
(car '(1 2 3))  1
(cdr '(1 2 3))  (2 3)

;; Conditionals
(if (= x 10) (princ "yes") (princ "no"))

;; AutoCAD
(command "LINE" pt1 pt2 "")
(getpoint "\nPick a point: ")
(getstring "\nEnter name: ")

WiX Basic Structure

<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
  <Package Name="AppName" Version="1.0.0.0" 
           Manufacturer="Company" UpgradeCode="GUID">
    <Feature Id="Main">
      <Component Directory="INSTALLFOLDER">
        <File Source="myfile.exe" />
      </Component>
    </Feature>
  </Package>
</Wix>