Updating the ConstructiVision 3.60 InstallShield Installer¶
Warning
This guide covers legacy InstallShield installer (v3.60) maintenance. For modern deployments, consider migrating to WiX Toolset or other modern installer frameworks.
Overview¶
The ConstructiVision 3.60 installer is built using InstallShield, an enterprise Windows installer framework. This guide explains the structure and how to update components.
Installer Architecture¶
File Structure¶
The installer consists of these key files in src/x86/v3_60/:
setup.exe - Main launcher stub (self-extracting archive bootstrap)
SETUP.INI - Configuration file (runtime behavior, disk space, language)
setup.ins - Compiled InstallShield script (installation logic, binary)
setup.lid - Language ID file
data1.cab - Primary CAB archive (compressed file payload)
data1.hdr - Header metadata for data1.cab (file names, sizes, offsets)
_sys1.cab/.hdr - System runtime files
_user1.cab/.hdr - User-specific runtime files
lang.dat - Language definitions
os.dat - Operating system detection data
layout.bin - Installer layout metadata
_INST32I.EX_ - 32-bit installer engine (compressed)
_ISDel.exe - Cleanup utility
_Setup.dll - Setup helper library
Setup.bmp - Installer background/splash image
Autorun.inf - CD autorun configuration
README.txt - Installation instructions
v3_60/ - Payload directory (LISP, DCL, DWG files, not compressed in CAB)
How InstallShield Works¶
Bootstrap: User runs
setup.exeExtraction: setup.exe extracts files from CAB archives and installer engine
Script Execution: The compiled
setup.insscript runs with extracted engineInstallation: Script copies files, edits registry, modifies AutoCAD configuration
Cleanup: Temporary files are removed
Updating Components¶
1. Updating SETUP.INI Configuration¶
Current contents:
[Startup]
AppName=ConstructiVision
FreeDiskSpace=491
EnableLangDlg=Y
[ISUPDATE]
UpdateURL=http://
How to modify:
AppName: Display name shown in Add/Remove ProgramsFreeDiskSpace: Minimum free disk space required (in MB)EnableLangDlg: Show language selection dialog during install (Y/N)UpdateURL: URL for automatic update checks (currently disabled)
Example changes:
[Startup]
AppName=ConstructiVision 3.60 Updated
FreeDiskSpace=1024
EnableLangDlg=Y
[ISUPDATE]
UpdateURL=http://updates.constructivision.local/
After modifying, rebuild the installer (see Rebuilding section below).
2. Updating Installation Payload Files¶
Non-CAB payload files in v3_60/ directory can be updated directly without recompilation:
LISP files (
csvmenu.lsp, etc.): Edit and saveDCL dialog files (AutoCAD dialogs): Edit and save
DWG sample files (CSS001.dwg through CSSsite.dwg): Replace with new drawings
Text files (matlist.txt, etc.): Edit configuration/data
Procedure:
Backup original files
Replace or edit files in
v3_60/Rebuild CAB archives (see below) if adding/removing files
3. Updating CAB Archive Contents (data1.cab)¶
InstallShield CAB archives contain compiled modules and executables:
data1.cab contains:
- wincss.exe (registry/utility executable)
- csv.arx (R14 compiled module, 1.6 MB)
- Csv.VLX (AutoCAD 2000 compiled module, 1.1 MB)
- pcms.arx / pcms2.arx (PCMS submodules)
- csv.mnu/mns/mnc/mnr (menu definition files)
- csvmenu.lsp (menu loader LISP)
To update CAB contents:
Extract CAB archives: Use
7-ZiporWinRARto extract data1.cabReplace files: Update the .arx/.vlx/.exe files
Repackage CAB: Use InstallShield CAB creation tool or 3rd-party tool
Update HDR: Regenerate header metadata with correct offsets
Note: This requires InstallShield CAB tools. See “Rebuilding” section.
4. Updating Compiled Modules (.arx / .vlx)¶
The installer includes compiled AutoCAD modules:
csv.arx- Main ConstructiVision for AutoCAD R14Csv.vlx- Main ConstructiVision for AutoCAD 2000+pcms.arx- PCMS submodules for R14pcms2.arx- PCMS submodules for 2000+
These are compiled binary files. To update:
Recompile your C++ source to generate new
.arxor.vlxfilesExtract
data1.cab(see section 3)Replace the old .arx/.vlx files with new ones
Repackage CAB and update HDR
Rebuild installer
5. Updating Registry Configuration¶
The setup.ins script contains hardcoded registry operations that:
Add ConstructiVision to AutoCAD support paths
Create menu entries in AutoCAD profiles
Set configuration values under
HKEY_LOCAL_MACHINE\Software\Autodesk\Autocad\...
To modify registry behavior:
Decompile
setup.ins(requires InstallShield IDE with script decompiler)Edit the script to change registry paths/values
Recompile to new
setup.insRebuild installer
This is complex and requires InstallShield IDE. Consider extracting the registry operations and documenting them separately.
Rebuilding the Installer¶
Prerequisites¶
InstallShield (Professional or higher edition)
Compatible version: InstallShield 2015 or compatible
Available from Revenera/Flexera
Visual C++ compiler (for .arx/.vlx recompilation if needed)
Project file (
.ismfile) - may be insrc/x86/v3_60/or parent directory
Using InstallShield IDE¶
Open Project: File â-’ Open â-’ Select
.ismproject file for v3.60Update Files:
Double-click “File Groups” or “Installation Designer”
Replace/add files in the appropriate locations
Update version numbers in “General Information”
Update Configuration:
Edit SETUP.INI via InstallShield project settings
Modify registry operations in installation script if needed
Build Installer:
Build â-’ Build Release
Output is generated to
Release/folder
Test Installation: Run setup.exe on test machine
Command-Line Rebuild (ISCmdBld.exe)¶
If InstallShield project exists:
# Rebuild from command line
$ISPath = "C:\Program Files\InstallShield\System"
& "$ISPath\ISCmdBld.exe" -p "path/to/project.ism" -a Build -r Release
# Output .exe and CAB files generated
# Location: Release/
If Project File Missing¶
If the original .ism project file is lost:
Reverse-engineer structure:
Extract CAB files to identify payload
Parse
setup.insstrings for registry operationsNote: Full recovery may not be possible
Create new InstallShield project:
Start fresh InstallShield project
Add files from extracted CAB + v3_60/ directory
Configure installation locations and registry operations based on extracted information
Set SETUP.INI parameters
Build new installer
Test thoroughly: Verify on clean Windows + AutoCAD installations
File Update Workflow¶
Simple Updates (Configuration/Non-compiled Files)¶
1. Edit SETUP.INI or v3_60/ payload files
2. Extract data1.cab (if updating CAB contents)
3. Replace files, repackage CAB with correct offsets
4. Rebuild with ISCmdBld.exe or IDE
5. Test on clean system
6. Commit to repository
Complex Updates (Compiled Modules)¶
1. Recompile C++ source (.arx/.vlx)
2. Extract data1.cab
3. Replace .arx/.vlx files with new compiled versions
4. Repackage CAB with new offsets in HDR
5. Update setup.ins if registry behavior changed (requires IDE)
6. Rebuild installer with ISCmdBld.exe
7. Test on AutoCAD R14 and 2000+ targets
8. Commit to repository
Version Tracking¶
Update the installer version in:
SETUP.INI: Consider adding version comment
README.txt: Document changes
setup.ins: Version string (if accessible)
Repository: Tag releases (e.g.,
v3.60.1-installer)
Example commit:
git add src/x86/v3_60/
git commit -m "Update ConstructiVision 3.60 installer: updated csvmenu.lsp, added new sample drawings"
git tag v3.60.1-installer
git push origin main --tags
Known Limitations¶
AutoCAD versions: Installer targets R14 and 2000 only (user-selected at install time)
Registry integration: May fail on modern AutoCAD versions (2018+) due to profile structure changes
Manual recovery: If menu integration fails, users must follow manual recovery steps (documented in README)
No auto-update: UpdateURL in SETUP.INI is not functional
Migration Path¶
Consider migrating from InstallShield to:
WiX Toolset: Open-source, XML-based, version-controlled
NSIS: Lightweight, script-based
Inno Setup: Simple, user-friendly
Modern MSI tools: VS 2022 MSI project templates
These provide better version control, CI/CD integration, and support for modern Windows versions.
Troubleshooting¶
Installer won’t run¶
Check
_INST32I.EX_decompressionVerify CAB archives are not corrupted
Run on supported OS (Windows XP/2003+ for legacy compatibility)
Installation fails partway through¶
Check AutoCAD is not running
Verify 500 MB+ free disk space
Check registry permissions (admin required)
CAB extraction fails¶
CAB may be corrupted
Use 7-Zip or WinRAR to verify/extract
If damaged, rebuild from source files
References¶
setupini-notes.md - SETUP.INI configuration details
setupins-installer-logic.md - Installation script analysis
installshield-cab-hdr-inventory.md - CAB structure breakdown
installshield-stub-and-support-files.md - Stub files analysis