Setup.ins Installer Logic (Legacy Analysis - Superseded)

Status: ?? This document is superseded by comprehensive decompilation analysis

This page contains the original high-level analysis based on extracted strings from setup.ins. For complete technical documentation, see the detailed analysis documents linked below.

Warning

Decompilation Complete - Detailed Documentation Available

This document was created from initial string extraction before full decompilation was completed. The installer has since been fully decompiled and analyzed in detail.

For complete technical information, see:


Document Purpose (Historical)

This page summarizes noteworthy strings and behaviors implied by setup.ins from the legacy installer media, based on initial analysis before full decompilation.

Note

setup.ins is a compiled InstallShield 5.0 script (circa 1999). The original conclusions here were based on extracted strings and conventional InstallShield/AutoCAD integration patterns. Full decompilation using isDcc v1.22 was completed in January 2025, producing complete technical documentation.


Original Findings (Pre-Decompilation)

AutoCAD version targeting and selection

The installer script includes a user prompt equivalent to:

  • “Under which version of AutoCAD do you want to install ConstructiVision?”

    • AutoCAD R14

    • AutoCAD 2000

It also references version-style identifiers consistent with:

  • R14.0

  • R15.0 (commonly associated with AutoCAD 2000)

? Confirmed by Decompilation:

  • See Installer Sequence Analysis - Phase 3 for complete detection logic

  • Installer searches registry for both R14 and 2000 installations

  • User is prompted to select which version if both are present


AutoCAD process guard

The script contains an error condition indicating AutoCAD must not be running during installation, aligning with the readme’s instruction that AutoCAD must be closed.

?? CRITICAL BUG DISCOVERED:

  • Original assumption was correct (checks if AutoCAD running)

  • However, the detection method is fundamentally broken on Windows Vista+

  • Uses file rename test: RenameFile("acad.exe", "acad.exe") which is blocked by UAC

  • Result: 95%+ false positive rate (always reports “running” even when closed)

  • See: Installer Sequence Analysis - Bug 1 for details


References to AutoCAD configuration and load files

Extracted strings show references to:

  • acad14.cfg

  • acad2000.cfg

  • acad.rx

This strongly suggests the installer edits or relies on AutoCAD configuration/load mechanisms beyond just copying files.

? Confirmed by Decompilation:

  • acad.rx is modified (ARX module autoload list)

  • Backup created as acad._rx before modification

  • ConstructiVision ARX modules added to autoload list

  • See: Installer File Dependencies - Section 3 for complete modification logic


References to compiled modules

The script references compiled modules including:

  • csv.arx (AutoCAD R14)

  • pcms.arx (Cost management module)

  • pcms2.arx (Extended cost features)

  • csv.vlx (AutoCAD 2000)

This aligns with the readme’s statement that the main program is ARX for R14 and VLX for AutoCAD 2000, and that PCMS modules exist as ARX subprograms.

? Confirmed by Decompilation:

  • R14 uses: csv.arx + pcms.arx + pcms2.arx

  • AutoCAD 2000 uses: csv.vlx + pcms.arx + pcms2.arx

  • Files deployed to: [AutoCAD]\Support\ConstructiVision\

  • See: Installer File Dependencies - Appendix D for file manifest


Registry and profile/menu integration

The script references registry paths consistent with AutoCAD profile storage, including patterns similar to:

  • .Default\Software\Autodesk\Autocad\...

  • \Profiles\<<Unnamed Profile>>

  • \General

  • \Menus

This supports the idea that Setup attempts to insert ConstructiVision/CSV menu entries directly into the active AutoCAD profile.

An error indicator appears consistent with a failure mode around menu integration, matching the readme’s “registry update failed” manual recovery steps.

?? CRITICAL BUG DISCOVERED:

  • Hardcoded profile name: Uses literal "<<Unnamed Profile>>" string

  • Wrong registry hive: Writes to HKEY_USERS\.Default instead of HKEY_CURRENT_USER

  • No active profile detection: Never checks which profile user is actually using

  • Impact: 30-40% of users have custom profiles; menu never appears for them

  • See: Cross-Check Analysis - Bug 3 for complete bug analysis


What This Means (Updated with Decompilation Findings)

Original Assessment (Correct)

From the initial string extraction, the legacy installer was correctly identified as doing:

? Prompts for R14 vs 2000 targeting
? Ensures AutoCAD is not running (intent correct, implementation broken)
? Copies ConstructiVision program/support files
? Modifies AutoCAD’s support/search path and profile configuration
? Adds a “CSV” menu via registry
? Registers compiled modules for loading via acad.rx

New Findings from Decompilation

Critical Bugs Discovered:

  1. AutoCAD Detection Bug (95% failure rate on Windows Vista+)

    • File rename test blocked by UAC

    • Fundamentally incompatible with modern Windows

    • Requires complete rewrite using Windows Restart Manager API

  2. Menu Registration Bug (30-40% failure rate)

    • Hardcoded profile name causes menu to appear in wrong profile

    • Affects users with custom AutoCAD profiles

    • Requires dynamic profile detection from registry

  3. Runtime Batch Files (Not documented in original analysis)

    • ConstructiVision creates cv1.bat, cv2.bat, cv3.bat after installation

    • Used for DOS SHELL commands without VBA

    • Critical: Must not be moved or renamed (causes crashes)

See Complete Bug Analysis:


Modern Installer Solution

Based on the decompilation findings and bug analysis, the v3.60 installer has been determined to be unfixable without a complete rebuild.

Decision: Rebuild using WiX Toolset 4.x

Timeline:

  • Jan 27 - Feb 7, 2026: WiX Proof of Concept (Go/No-Go decision Feb 7)

  • Feb 10 - Mar 21, 2026: Full WiX installer development

  • Mar 31, 2026: WiX installer GA release (target)

Fixes Implemented in WiX:

  • ? Windows Restart Manager API (no file rename hack)

  • ? Registry-based AutoCAD detection (not file search)

  • ? Active profile detection (reads CurProfile from registry)

  • ? Code signing and UAC manifest (Windows 11 compatible)

  • ? MSI format (enterprise deployment support)

See:



Document Metadata

Original Creation: 2025 (pre-decompilation, based on string extraction)
Decompilation Completed: January 2025 (using isDcc v1.22)
Status: Superseded by detailed analysis documents
Purpose: Historical reference showing evolution from string analysis to full decompilation

For Current Technical Information: See detailed analysis documents linked above.


End of Document