WinINSTALL 8.70.03 Desktop Management Suite and Desktop
Transcription
WinINSTALL 8.70.03 Desktop Management Suite and Desktop
..... WinINSTALL 8.70.03 Desktop Management Suite and Desktop Availability Suite Reference Guide .................................................................... ..... Disclaimer The information contained in this publication is subject to change without notice. Attachmate Corporation makes no warranty of any kind with regard to this manual, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Attachmate Corporation shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance, or use of this manual. Copyright © Copyright 1991-2006 by Attachmate Corporation. All Rights Reserved. Migration Engine © Copyright 1998-2006 by Tranxition Corporation. All Rights Reserved. ..... TABLE OF C ONTENTS Section 1: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 1: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 Chapter 2: Installation Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 WinINSTALL Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 WinINSTALL Share . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 WinINSTALL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Client Workstations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 WinINSTALL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Reference Machine (clean machine on which packages are discovered) . . . . . . . . . . . . . . . . . . . 9 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 PXE Client Reset Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Basic PXE Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 WinINSTALL PXE Client Reset Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 WinINSTALL Administrator Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Chapter 3: WinINSTALL Directory Structures . . . . . . . . . . . . . . . . . . . . . . . . . .13 WinINSTALL Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 April, 2006 Reference Guide iii WinINSTALL Share . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 WinINSTALL MSDE 2000 Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Machines with WinINSTALL Agent Deployed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Client Reset Folder Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Console Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Distrib folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Logs folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 DosFiles folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 <Language> folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 MAC Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 RPClient folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 PXE Client Reset Folder Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 \ClientReset\nnnn Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 \ClientReset\data Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 \ClientReset\drivers Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 \ClientReset\sif Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 \ClientReset\utilities Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Chapter 4: The WinINSTALL Agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 WinINSTALL Sub-Agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 IPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Wake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Merge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Publisher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Housekeeper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Client Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Agent Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Secure Manual Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 iv WinINSTALL Desktop Management Suite and Desktop Availability Suite ..... Agent Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Configuration and Transaction Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Information Flow From the Database To the Workstation . . . . . . . . . . . . . . . . . . . . . . . . 40 Data Flow From the Workstation to the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Share Configuration and Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Share Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Share Ownership and Merge/Publish Responsibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Share Selection Procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Section 2: WinINSTALL Database . . . . . . . . . . . . . . . . . . 45 Chapter 5: WinINSTALL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47 Database Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Supported Database Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Microsoft® SQL Server 2000 Desktop Engine (MSDE 2000) . . . . . . . . . . . . . . . . . . . . 47 Microsoft® SQL Server 2000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Microsoft® SQL Server 2005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Oracle® 9i or Later . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Upgrading the Database Schema from Previous Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Upgrading a Microsoft SQL Server or MSDE WinINSTALL Database . . . . . . . . . . . . . 48 Upgrading an Oracle WinINSTALL Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Chapter 6: WinINSTALL Database Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 Database Version table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 WI_VERSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Agent Infrastructure Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 WIAI_CHANGE_NOTICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 WIAI_EXCLUSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 WIAI_EXTENSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 WIAI_HKSETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 WIAI_INVSETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 WIAI_JOBBIGPARAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 WIAI_JOBCOMPLETION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 WIAI_JOBMACHINES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 April, 2006 Reference Guide v WIAI_JOBNETCRITERIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 WIAI_JOBPARAMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 WIAI_JOBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 WIAI_LOGVARIABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 WIAI_MASETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 WIAI_MERGESETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 WIAI_PACKAGE_PATHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 WIAI_PACKAGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 WIAI_PUBSETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 WAI_REASSIGNED_WORKSTATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 WIAI_REPSETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 WIAI_SDSETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 WIAI_WAKESETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Conflict Assessment Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 WICA_ASSESSEDPACKAGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 WICA_ASSESSMENTHISTORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 WICA_ASSESSMENTSETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 WICA_CONFLICTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 WICA_INIFILEADDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 WICA_INIFILEREMOVES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 WICA_JOBHISTORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 WICA_PACKAGEDIRADDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 WICA_PACKAGEDIRREMOVES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 WICA_PACKAGEFILEADDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 WICA_PACKAGEFILEREMOVES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 WICA_PATHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 WICA_REGISTRYKEYADDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 WICA_REGISTRYKEYDELETES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 WICA_REGISTRYVALUEADDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 WICA_REGISTRYVALUEDELETES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 WICA_SHORTCUTADDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 WICA_SHORTCUTDELETES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 WICA_WFILE_XREF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 WICA_WFILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 vi WinINSTALL Desktop Management Suite and Desktop Availability Suite ..... Console Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 WICON_ASSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 WICON_ASSETTYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 WICON_CLOB (Oracle-only Table) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 WICON_INVAPPFILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 WICON_LICENSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 WICON_LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 WICON_LOGDATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 WICON_MACHINEGROUPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 WICON_MACHINEPATHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 WICON_MACHINES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 WICON_SEARCHCONDITIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 WICON_SEARCHES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 WICON_SECACC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 WICON_SERVERSETTINGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Client Reset Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 WICR_FILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 WICR_LOOKUPMSDOSNICDRIVERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 WICR_MSDOSADDITIONALFILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 WICR_MSDOSNICDRIVERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 WICR_OSLICENSEKEYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 WICR_SHARES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 WICR_TEMPLATES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Inventory Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 WIINV_ARPAPPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 WIINV_CHANGELOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 WIINV_DETECTEDFILEEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 WIINV_DETECTEDFILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 WIINV_DEVICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 WIINV_LOCALLOGICALDRIVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 WIINV_MACHINEHW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 WIINV_NTSERVICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 WIINV_OSINFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 WIINV_PRINTER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 April, 2006 Reference Guide vii WIINV_RAMSLOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 WIINV_REGISTEREDMSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 WIINV_REGISTEREDNAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 WIINV_WINUPDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Migration Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 WIMIG_JOBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 WIMIG_SKIPPEDCONTENTNODES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 WIMIG_TASKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 WIMIG_USERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 PXE Client Reset Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 WIPXECR_CLIENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 WIPXECR_CLIENTLicenseS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 WIPXECR_DRIVERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 WIPXECR_LICENSEKEYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 WIPXECR_OPERATINGSYSTEMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 WIPXECR_SERVERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 WIPXECR_TEMPLATES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 WIPXECR_TEMPLATEACCOUNTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 WIPXECR_TEMPLATEFIREWALLEXCLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 WIPXECR_TEMPLATEPACKAGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 WIPXECR_TEMPLATEUTILITIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 WIPXECR_UTILITIES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 WIPXECR_UTILITYSUPPORTFILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Replication Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 WIREP_JOBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 WIREP_JOBSTATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 WIREP_JOBSTATUSLOGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 WIREP_MIGRATIONSOURCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 WIREP_MIGRATIONTARGETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 WIREP_PACKAGESOURCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 WIREP_PACKAGETARGETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 WIREP_PATCHSOURCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 WIREP_PATCHTARGETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 WIREP_PXECRSOURCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 viii WinINSTALL Desktop Management Suite and Desktop Availability Suite ..... WIREP_PXECRTARGETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 WIREP_TEMPLATESOURCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 WIREP_TEMPLATESREPLICATED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 WIREP_TEMPLATETARGETS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Section 3: Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Chapter 7: WinINSTALL Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .101 System-defined Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 System-defined Variables for WinINSTALL (NAI) Packages: . . . . . . . . . . . . . . . . . . 101 System-defined Variables for Windows Installer (MSI) Packages: . . . . . . . . . . . . . . . 103 User-defined Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Constant Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Global Prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Application Prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 URL Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Chapter 8: Conflict Assessment Categories . . . . . . . . . . . . . . . . . . . . . . . . . .105 Main conflict categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 File conflict subcategories and messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Registry conflict subcategories and messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Shortcut conflict subcategories and messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 INI File conflict subcategories and messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Chapter 9: MSI Custom Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .109 Defining the Custom Action: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Specifying the Custom Action Sequence: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Section 4: Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . 113 Chapter 10: WinINSTALL Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115 Console logging April, 2006 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Reference Guide ix WinINSTALL Database log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Windows Event Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Console Log Event Codes and Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 WinINSTALL Agent logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Installer logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Chapter 11: Special WinINSTALL Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . .121 Network Detection (NoNetNoGo.exe) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Creating a Baseline for Conflict Assessment (WIBaselineGen.exe) . . . . . . . . . . . . . . . . . . . . 121 Client Launch (WIClient.exe) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Script to Add a Database User (dbAddUser.cmd) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Procedure to Set the Dynamic List Publishing Interval . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Procedure to Set the Interval Count for a Specific Server . . . . . . . . . . . . . . . . . . . . . . . 123 Procedure to Set the Interval Count for All Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Procedure to Set the Global Default Interval Count (for New Servers) . . . . . . . . . . . . . 124 Special Utility for Microsoft Patches (PatchCatalog.exe) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Generating mssecure Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 PatchCatalog command syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Supported languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Patch Management Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Personality Transfer Command Line Utility (WIMigCmd.exe) . . . . . . . . . . . . . . . . . . . . . . . . 129 Sample Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Interactive Installer Icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Run Automatic Installer at Startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Enable E-Mail Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Event Viewer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 SNMP Get Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 SNMP Get and Set Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Backup User Data and Initiate Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Open XP Firewall Ports for WinINSTALL Operations . . . . . . . . . . . . . . . . . . . . . . . . . 134 Restore User Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Chapter 12: WinINSTALL Scripting Extensions . . . . . . . . . . . . . . . . . . . . . . .137 Installer Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 x WinINSTALL Desktop Management Suite and Desktop Availability Suite ..... Installer Object Properties and Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Installer Script Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Installer Event Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Console Scripting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 The Machines object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 The Machine object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Console Scripting Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169 April, 2006 Reference Guide xi xii WinINSTALL Desktop Management Suite and Desktop Availability Suite Section 1 ..... ................................... I NTRODUCTION .................................................................... C HAPTER 1: I NTRODUCTION C HAPTER 2: I NSTALLATION R EQUIREMENTS C HAPTER 3: W IN INSTALL D IRECTORY S TRUCTURES C HAPTER 4: T HE W IN INSTALL A GENTS April, 2006 Reference Guide 1 2 WinINSTALL Desktop Management Suite and Desktop Availability Suite 1 I NTRODUCTION T ..... ................................... he WinINSTALL Reference Guide is intended to provide in-depth information on the inner workings of the WinINSTALL product and methods for accomplishing advanced and involved tasks. It is not expected that anyone would read this document from start to finish. Rather, as its title would suggest, this manual is intended to serve as a reference, to be consulted for specific information at times when you are trying to accomplish something more involved than usual. The guide is divided into sections to make it easier for you to find the information you are looking for. This initial section presents installation requirements for all product components-information which is available elsewhere, but which is included here for the sake of completeness. This introductory section also includes information on the directory structure of the WinINSTALL share and the WinINSTALL agent infrastructure, what the components are, and how they interact with one another. The WinINSTALL Database section provides information on the various supported database management systems, on upgrading the database from one version of the product to another, and finally, a complete listing of all the tables and fields in the WinINSTALL database, including field types, sizes, and whether they are required or not. The Applications section provides detailed information on certain of the intricacies of application packaging and distribution with WinINSTALL. Finally, the Miscellaneous section includes information on WinINSTALL utilities, scripting, and other tools which don’t easily fit into any of the other categories. April, 2006 Reference Guide 3 1 4 INTRODUCTION WinINSTALL Desktop Management Suite and Desktop Availability Suite I NSTALLATION R EQUIREMENTS T ..... ................................... 2 he minimum installation requirements for each of the WinINSTALL components is detailed below, along with a short explanation of what each component is and what role it plays in the WinINSTALL environment. .................................................... WININSTALL CONSOLE The WinINSTALL Console is the graphical user interface (GUI) used to administer the entire WinINSTALL environment. Each machine on which you install a Console must meet the following requirements: HARDWARE • 85 MB of disk space (for the local components of WinINSTALL). SOFTWARE • Operating System - Windows 2000, SP4/Windows XP/2003. • Microsoft Windows Installer 2.0 or greater. WinINSTALL checks for the presence of this program during setup and will automatically install or upgrade it as required. • Database Client Software. If you are using Oracle® as your database, you must first manually install the client software in order to have database connectivity. Database connectivity is required for you to run the Console or use the Database Creation Wizard to initialize your WinINSTALL database. The Microsoft SQL Server client software must be installed in order for you to use the Database Creation Wizard to create and initialize the WinINSTALL database. Except for the web-based installation, all other installation methods offer the option of installing the client software. DISPLAY RESOLUTION • 1024 X 768 or higher. April, 2006 Reference Guide 5 2 INSTALLATION REQUIREMENTS WinINSTALL Share COLOR • 16-bit or better. .................................................... WININSTALL SHARE The WinINSTALL share serves multiple purposes. It holds the configuration files, executables, help files, reports, software packages, client reset templates, and other files used by the Console. It is used to store data that is moved by WinINSTALL agents between workstations and the database. Each machine on which you install a share must meet the following requirements: HARDWARE • 235 MB of disk space (for the network components of WinINSTALL). • Adequate disk space to store application packages and optional client reset templates. SOFTWARE • Operating System. The WinINSTALL share is a shared hierarchy of folders and files. As a result, the WinINSTALL share machine can be running any operating system. The machine running setup must be running Windows 2000 or greater. The WinINSTALL share setup allows installing the share to a network drive. • Windows Installer Setup requires Microsoft Windows Installer 2.0 or greater. WinINSTALL checks for the presence of this program during setup and will automatically install or upgrade it as required. .W. .I .N. I.N. .S. T. .A. L. .L. .S. E. .R. .V. E. .R. . . . . . . . . . . . . . . . . . . . . . . . . . . . A WinINSTALL server is a machine with full WinINSTALL agent functionality deployed. A server performs server agent functions both for itself and for the workstations that are assigned to it, and it also performs workstation agent functions for itself as a local machine in the WinINSTALL environment. Each machine with the role of WinINSTALL server must meet the following requirements: 6 WinINSTALL Desktop Management Suite and Desktop Availability Suite Client Workstations ..... INSTALLATION REQUIREMENTS NOTE: WinINSTALL does not require a dedicated server. WinINSTALL servers may also be operating as file servers, print servers, application servers, database servers, etc. SOFTWARE • Operating System. Recommended: Windows Server 2000/2003. Alternate: Windows NT 4.0 with SP 6a and IE5.5 or greater installed. • Microsoft Windows Installer 2.0 or greater. This file is included with Windows Server 2000/2003, but must be installed separately with Windows NT 4.0. WinINSTALL checks for the presence of this program during setup and will automatically install or upgrade it as required. Deploying the WinINSTALL Agent will install or upgrade to Windows Installer 2.0 as necessary. • Microsoft Data Access Components 2.71 WARNING: If an earlier version of MDAC is already installed on the server at the time when the WinINSTALL server agent is deployed, the MDAC upgrade is liable to cause the server to reboot. .................................................... CLIENT WORKSTATIONS A WinINSTALL workstation is a machine with the WinINSTALL workstation agent deployed. A workstation performs workstation agent functions for itself only. Each machine with the role of WinINSTALL workstation must meet the following requirements: HARDWARE • As required for applications being installed. • 15 MB of disk space (for local components of WinINSTALL). April, 2006 Reference Guide 7 2 INSTALLATION REQUIREMENTS WinINSTALL Database NOTE: PXE client machines must have at least the Microsoftrecommended minimum amount of RAM for the operating system being installed (Windows 2000: 64MB, Windows XP and 2003: 128MB). SOFTWARE • Operating System. Windows XP/2000/98 with IE 4.0/95 with IE 4.0 and WinSock 2/NT 4.0 with SP 6a and IE5.5 or greater installed. NOTE: Some non-English versions of Windows 95 and Windows NT 4.0 contain no native support for encryption/decryption. Because WinINSTALL uses encryption for agent deployment and communication, such systems require the addition of an update which includes CryptoAPI support, such as that provided in Internet Explorer v6. • Microsoft Windows Installer 2.0 or greater. This program is included with Windows Server 2000/2003, but must be installed separately with Windows NT 4.0. .................................................... WININSTALL DATABASE The WinINSTALL database holds all of the information used internally by WinINSTALL and displayed in the console. NOTE: WinINSTALL does not require a dedicated database server. The WinINSTALL database may be located on a machine functioning in other capacities, including as a database server for other applications. HARDWARE • Adequate disk space for database. 8 WinINSTALL Desktop Management Suite and Desktop Availability Suite Reference Machine (clean machine on which packages are discovered) ..... INSTALLATION REQUIREMENTS SOFTWARE • Software for any of the following databases: Microsoft® SQL Server 2000 Desktop Engine (MSDE 2000). Microsoft® SQL Server 2000. Microsoft® SQL Server 2005. Oracle® 9i or later. REFERENCE MACHINE (CLEAN MACHINE ON WHICH PACKAGES ARE DISCOVERED) .................................................... A reference machine is a special machine that is used solely for the purpose of building packages and the creation of transforms. No part of WinINSTALL is installed on a reference machine. Technically, a reference machine should be a clean machine, with only the operating system and any necessary service packs installed. Because a reference machine does not need to be large and expensive, some administrators have two or more. In this way, they can create a package on one machine while returning a previously-used machine to its clean state. This practice reduces downtime - and the temptation to cut corners by using a dirty machine. Today, a number of commercial products are available to simplify the process of returning a reference machine to its clean state. For instance, some products allow you to create a virtual machine and save it in a clean state, build a package on it, and then discard all changes and return to the original clean state during reboot. These virtual machines save a great deal of time because you install the operating system only once for each operating system used in your network. This convenience is particularly useful because each package must be created on a machine with the same operating system as the network client on which it will be installed. HARDWARE • As required for applications being packaged. SOFTWARE • Operating System. Windows 2003/XP/2000/98 with IE 4.0/95 with IE 4.0/NT 4.0 with SP 6a and IE5.5 or greater installed. • Microsoft Windows Installer 2.0 or greater. April, 2006 Reference Guide 9 2 INSTALLATION REQUIREMENTS PXE Client Reset Requirements This program is required to build Windows Installer packages. It is included with Windows 2003/XP/2000, but it must be installed separately on other operating systems. When Windows 9x or Windows NT 4.0 is installed on the reference machine, you cannot create a Windows Installer package directly with the Discover Wizard. You must first create a WinINSTALL package and then convert it to a Windows Installer package on a machine running Windows 2000 or later. .................................................... PXE CLIENT RESET REQUIREMENTS BASI C PXE REQUIREMENTS There are several requirements for a client machine to be PXE-bootable. The machine’s BIOS must support “Network” as a boot device. Also the machine’s NIC must support the PXE standard (first introduced in the PC98 specification). Optionally the NIC can contain the PXE boot ROM. NICs that contain the ROM are often called “managed NICs” or “NICs for managed PCs.” If the NIC supports PXE but does not contain the ROM image, a network boot is only possible by booting the system with a floppy disk containing the ROM image. Almost all PCs sold after 1998 support “Network” boot in the BIOS and most NICs support PXE. There are two distinct versions of PXE; DHCP-based (Dynamic Host Configuration Protocol) and RPL (Remote Program Load). DHCP-based is used across most network environments, whereas RPL is most often used in NetWare environments. PXE-capable NICs support either DHCP-based, RPL-based, or both. A PXE-capable NIC that supports only RPL will not work in a Windows environment. The fact that PXE requires DHCP imposes additional restrictions on the network setup. First, use of PXE is not possible in a static IP environment. Second, since DHCP does not typically cross subnets, each subnet containing a DHCP server must also contain a PXE server. For example, a company with offices in LA and NYC would typically have a DHCP server at each site. Such a setup would also require a PXE server at each site. Client machines in LA could not connect to a PXE server in NYC. The DHCP server must also support DHCP options. DHCP options are identified by number, and PXE requires DHCP options 66 and 67. DHCP options are supported by most DHCP servers, including the DHCP server included with Windows NT/2000/2003 Servers. Examples of DHCP servers that may not support DHCP options include small DHCPcapable routers and firewalls from companies like LinkSys, NetGear, D-Link, and SonicWall. Since these network appliances do not support DHCP options, they cannot be used in a PXE environment. 10 WinINSTALL Desktop Management Suite and Desktop Availability Suite WinINSTALL Administrator Requirements ..... INSTALLATION REQUIREMENTS WINI NSTALL PXE CLIENT RESET REQUI REM ENTS WinINSTALL PXE Client Reset requires the following components, over and above those for the rest of the WinINSTALL product: • DHCP Server The network must be configured to use DHCP, and therefore it must include a DHCP server on or for each subnet where WinINSTALL PXE Client Reset will be configured. In addition, to support PXE, each DHCP server must have options 66 and 67 enabled. WinINSTALL can automatically set these options on Windows servers which are providing DHCP services. Other DHCP servers will need to have these options enabled manually. • Windows Install Set Operating system installation files must be provided (via the WinINSTALL PXE Client Reset Template Wizard, below) for installation on client machines. Windows 2000, Windows XP, and Windows 2003 can be installed in this fashion. WARNING: Windows 2000, XP, and 2003 can be installed through PXE. Windows 95/98/ME and NT cannot. • PXE-Capable Client Every client machine must be PXE-capable. This means the BIOS must support Network as a boot device and the NIC must be DHCP-PXE-capable. NOTE: PXE client machines must have at least the Microsoftrecommended minimum amount of RAM for the operating system being installed (Windows 2000: 64MB, Windows XP and 2003: 128MB). WININSTALL ADMINISTRATOR REQUIREMENTS .................................................... An effective WinINSTALL administrator should have an in-depth understanding of the organization’s network and security policies, and the necessary security rights to access appropriate network resources. In addition, it is helpful to have the following qualifications: • A solid understanding of all the Windows platforms in use on the network. April, 2006 Reference Guide 11 2 INSTALLATION REQUIREMENTS WinINSTALL Administrator Requirements • A working knowledge of the Windows registry. An understanding of the Windows registry can be invaluable when building packages. After WinINSTALL has Discovered an application, you may need to modify a registry entry to fit your network needs. You should be familiar with the use of REGEDIT.EXE and REGEDT32.EXE, and the differences between these two registry editors. These two utilities can be found in the \Winnt and \Winnt\System32 directories, respectively. • An understanding of the Microsoft Windows Installer and MSI technology. Knowledge of Windows Installer technology and terminology is helpful when you are working with MSI files. A solid understanding of the MSI table relationships and MSI properties is recommended if you will be building and using Windows Installer packages. • Familiarity with scripting languages and writing scripts. For certain complex situations, some users prefer to use scripts in their packages. This is usually unnecessary, but in the event that it is needed or desired, any scripting language supported by Windows Scripting Host can be used in WinINSTALL packages. Scripting in WinINSTALL packages is accomplished through external processes (see the WinINSTALL Reference Guide for more on scripting in WinINSTALL packages), while scripting in Windows Installer packages is accomplished through custom actions. 12 WinINSTALL Desktop Management Suite and Desktop Availability Suite 3 W IN INSTALL D IRECTORY S TRUCTURES T ..... ................................... his section documents the directory structures installed and used by the different WinINSTALL components, including the console, server, workstation, and WinINSTALL share. In addition, special details are provided for the Client Reset sub-folders within the WinINSTALL share. .................................................... WININSTALL CONSOLE When the WinINSTALL Console is deployed, the following directories are created: C:\Program Files\OnDemand\Tranxition C:\Program Files\OnDemand\WinINSTALL The executable and related binaries for the Console and/or Agents are stored in the following directory: C:\Program Files\OnDemand\WinINSTALL\Bin The following sub-folder is the location of the compiled help (.chm) files used by the WinINSTALL Console: C:\Program Files\OnDemand\WinINSTALL\Help The plugins for the Tranxition personality transfer engine (used only by the WinINSTALL Desktop Availability Suite) are stored in the following directory: C:\Program Files\OnDemand\Tranxition\Plugins .................................................... WININSTALL SHARE When a WinINSTALL Share is installed, the following shared folder is created: \WinINSTALL The following files are located in the shared folder: • ReadMe.html • ReadMePkgr.html • WIShare.msi April, 2006 Reference Guide 13 3 W I N I N S TA L L D I R E C T O R Y ST R U C T U R E S WinINSTALL Share In addition, the following subfolders are created within the shared folder: \Bin The \Bin subfolder of the share contains the binaries for the WinINSTALL program including Discover, the Automatic Installer, the Interactive Installer, the conflict assessment baseline generator, the files to be deployed with the WinINSTALL Agent, and the MSI file that installs additional WinINSTALL Consoles - and the default exclusion files for Discover and for the conflict assessment baseline generator application. \CFGFiles This sub-folder of the share is the distribution point for .XML files containing configuration and job information being sent to workstations and servers. These files are published from the database by the Publisher sub-agent running on the WinINSTALL server. The files are then retrieved by each target machine’s WinINSTALL Agent, which periodically checks this shared folder for configuration changes to apply and jobs to run. \CR The CR sub-folder (used only by the WinINSTALL Desktop Management Suite and WinINSTALL Desktop Availability Suite) is the location of all files required for Client Reset Templates, such as binaries, operating system distribution files and images, service packs, and files needed to build a boot disk or reset partition. Additional details on each of these 7 folders and their contents are available in the Client Reset Folder Structure section, below: • \CR\Console • \CR\Distrib • \CR\DOSFiles • \CR\<language> • \CR\Logs • \CR\MAC • \CR\RPClient \Help This sub-folder is the location of the compiled help (.chm) files for WinINSTALL, including copies of all the help files used by the Console (see the help file directory in the WinINSTALL Console section, above). \MergeModules 14 WinINSTALL Desktop Management Suite and Desktop Availability Suite WinINSTALL Share ..... W I N I N S TA L L D I R E C T O R Y S T R U C T U R E S The MergeModules sub-folder contains a 'cache' of merge modules that will be checked for possible use when packages are converted to a Windows Installer format. You can add your own merge modules to this folder as needed, including adding sub-folders for categories of merge modules, if desired. \MergeModules\Microsoft This sub-folder contains merge modules created by Microsoft Corporation. You can add additional merge modules to this folder. TIP: Keep the \MergeModules\Microsoft folder up to date by periodically visiting the Microsoft web site to download new and updated merge modules. \Migration Personality transfer templates, personality transfer repositories, and the files required to run personality transfer tasks (used only by the WinINSTALL Desktop Management Suite and WinINSTALL Desktop Availability Suite) are all located beneath the Migration sub-folder of the share. \Migration\Content Plugins This sub-folder holds the files required to run all personality transfer tasks. \Migration\Repository The Migration\Repository sub-folder is the location for storing all of the personality transfer data that has been extracted from source machines, in three sub-folders, according to the type of personality transfer involved: • \Migration\Repository\Backups • \Migration\Repository\Migrations • \Migration\Repository\Policies \Migration\Templates This folder holds all created personality transfer templates. \Packages This folder contains all the default packages included in WinAPPS.LST and its sub-lists, plus (by default) any new list files and packages that are created with WinINSTALL This is also the default directory used by WinINSTALL replication. April, 2006 Reference Guide 15 3 W I N I N S TA L L D I R E C T O R Y ST R U C T U R E S WinINSTALL MSDE 2000 Database NOTE: The \Packages directory is referenced by a special WinINSTALL variable, @PackageDir. \Patches The Patches folder contains all the Microsoft Patch Management list files and patch packages. NOTE: The \Patches directory is referenced by a special WinINSTALL variable, @PatchDir. \Reports This folder contains all supplied Crystal Reports (.rpt files) that are available from the WinINSTALL Console. If you have Crystal Designer, you can create and store your own custom reports here as well. \TxFiles The TxFiles folder of the share is the collection point for .XML files transferred to the WinINSTALL share by workstation and server agents for merging into the WinINSTALL database. The WinINSTALL Merge sub-agent on the server periodically checks this folder for information, such as inventory data, that needs to be merged into the database for reporting and viewing in the Console. .................................................... WININSTALL MSDE 2000 DATABASE When you choose the WinINSTALL installation option that also installs the Microsoft® SQL Server 2000 Desktop Engine (MSDE 2000), it creates the following directory for the MSDE application: C:\Program Files\Microsoft SQL Server\ 16 WinINSTALL Desktop Management Suite and Desktop Availability Suite Machines with WinINSTALL Agent Deployed ..... W I N I N S TA L L D I R E C T O R Y S T R U C T U R E S MACHINES WITH WININSTALL AGENT DEPLOYED .................................................... When you deploy the WinINSTALL Agent to a machine (server or workstation), it creates the following directory structure: C:\Program Files\OnDemand\WinINSTALL The following subfolders are created: \Bin The \Bin folder contains the binaries for the WinINSTALL Agent and sub-agents. \CfgFiles This folder contains .XML files retrieved from the WinINSTALL share. Such files contain local configuration settings and jobs for the local machine. \TxFiles This folder holds .XML files containing local information to be moved to the \TxFiles directory on the WinINSTALL Share. From there, the information will be merged into the WinINSTALL database by the server Merge sub-agent. .................................................... CLIENT RESET FOLDER STRUCTURE The Client Reset folder (\CR) is located under the WinINSTALL share, and it contains the following folders and files: Console FOLDER Files in this folder are never replicated. They are used only by the console, either directly for Client Reset settings or as files to be copied to floppy folders and images. AppText.<lng> files These files provide language-specific messages for the MS-DOS phases of Client Reset. WinINSTALL currently supports English, French, and German. When a Client Reset Template is saved, one of these files, applicable for the currently selected Client Reset template’s language, is copied to AppText.ini; this is the actual file MS-DOS uses for language-specific messages. The AppText.ini file, in turn, is compressed into Apps.dat, which is itself copied to floppy folders and images. Autoexec.bat file April, 2006 Reference Guide 17 3 W I N I N S TA L L D I R E C T O R Y ST R U C T U R E S Client Reset Folder Structure This file is the master version of the Autoexec.bat file used during MS-DOS phases of Client Reset. This file is copied to floppy folders and images, and that copy is then modified according to each template’s Additional MS-DOS Files settings. Config.ms file This file is the master version of the Config.sys file used during MS-DOS phases of Client Reset. This file is used specifically for Microsoft networks; it is copied to floppy folders and images, and that copy is later modified according to each template’s Additional MSDOS settings. Config.nw file This file is the master version of the Config.sys file used during MS-DOS phases of Client Reset. This file is used specifically for NetWare networks; it is copied to floppy folders and images, and that copy is later modified according to each template’s Additional MS-DOS settings. Connect.exe file During MS-DOS phases of Client Reset, this application connects the workstation to the network, then spawns SetOS.exe or SetRP.exe, depending on a parameter in OStart.ini. This file is copied to floppy folders and images. FindRamD.exe file During MS-DOS phases of Client Reset, this application determines the drive letter of the temporary RAM disk on which the MS-DOS code is running. This file is copied to floppy folders and images. Finish.bat file This file is the master version of the Finish.bat file that gets copied to floppy folders and images. This file may be modified during MS-DOS phases, depending on network type and target operating system. Net.cfg file This file is a required configuration file used during MS-DOS phases of Client Reset. It is compressed into Apps.dat, which in turn is copied to floppy folders and images. PackApp.exe file This application decompresses the Apps.dat file during MS-DOS phases of Client Reset. It is copied to floppy folders and images. Protocol.ini file This is a configuration file required during MS-DOS phases of Client Reset. It is compressed into Apps.dat, which in turn is copied to floppy folders and images. 18 WinINSTALL Desktop Management Suite and Desktop Availability Suite Client Reset Folder Structure ..... W I N I N S TA L L D I R E C T O R Y S T R U C T U R E S StuffKey.exe file This application ‘stuffs’ keystrokes into the keyboard buffer during MS-DOS phases of Client Reset; it provides an ‘auto response’ capability for some of the network applications, such as Net.exe. It is compressed into Apps.dat, which in turn is copied to floppy folders and images. System.ini file This configuration file is required during MS-DOS phases of Client Reset. It is compressed into Apps.dat, which in turn is copied to floppy folders and images. WfwSys.cfg file This is a network configuration file required during MS-DOS phases of Client Reset. This file is compressed into Apps.dat, which in turn is copied to floppy folders and images. <Language>.lng files Not to be confused with the MS-DOS AppText files, these files provide language-specific strings to Client Reset Templates. They provide translations of time zones and keywords. The existence of a language file permits a Template to select that language. For instance, if German.lng exists, then Templates can select German as the language for an OS install. WinINSTALL currently supports Brazilian Portuguese, Chinese (Simplified and Traditional), English, French, German, Italian, Japanese, Korean, and Spanish. <OS>.ua files These are the master Unattend files for supported operating systems. When a Template is saved, a copy of the applicable Unattend file is created in the Template’s floppy folder and modified to reflect the Template’s settings. During MS-DOS phases of Client Reset, this specialized file is referenced by the Windows OS installer (WinNT.exe). WinINSTALL currently supports Windows 98, Windows NT (Workstation and Server), Windows 2000 (Professional and Server), Windows XP Professional, and Windows 2003 servers. Distrib FOLDER HidePart.exe file This application is used by Windows 98 workstations to detect presence of a reset partition. CC3250.dll file Contains code supporting HidePart.exe. ImgLoad.exe file This application runs the first time a user logs onto a workstation that was reset via thirdparty image install. It prepares the workstation to run WinLoad.exe. April, 2006 Reference Guide 19 3 W I N I N S TA L L D I R E C T O R Y ST R U C T U R E S Client Reset Folder Structure PQAccd.exe file This application copies files to a workstation’s non-FAT16 partitions during MS-DOS phase of Client Reset. PQAccd.rtc file This is a configuration file used by PQAccd.exe. It specifies the features allowed. PQFile.exe file This application reboots a workstation during MS-DOS phase of creating a reset partition using WIRPAdd.exe (Create Reset Partition application). PQMagic.exe file This application re-partitions the hard drive during MS-DOS phase of Client Reset. PQMagic.ovl file This is a code overlay used by PQMagic.exe. PQMagic.bmp file This is a bitmap used by PQMagic.exe. PQMagic.pqg file This is a support file used by PQMagic.exe. PQPB.rtc file This is a configuration file used by PQMagic.exe. It specifies the feature allowed. RestrMBR.exe file This application restores the Master Boot Record (MBR) to a default version. It is available for customer use, but not used by Client Reset itself. SetOS.exe file This application manages the reset of a workstation during Client Reset. SetRP.exe file This application manages the MS-DOS phase of creating a reset partition, when initiated from WIRPAdd.exe (Create Reset Partition application). VFile.exe file This application creates a floppy image file. This application is invoked in two situations: • When WIRPAdd.exe creates a floppy image to boot the workstation into MS-DOS phase of creating a reset partition. 20 WinINSTALL Desktop Management Suite and Desktop Availability Suite Client Reset Folder Structure ..... W I N I N S TA L L D I R E C T O R Y S T R U C T U R E S • When the Console creates, at the administrator’s request, a floppy image from the Create Floppy Disk wizard. VFInst9x.exe file This application forces a Windows 98 workstation to boot from a floppy image file. VFInstNT.exe file This application forces a Windows NT-based workstation to boot from a floppy image file. VFInstNT.dll file This application extension supports VFInstNT.exe. VFloppy.sys file This is a support file for VFInstxxx.exe. VFlppyLd.sys file This is a support file for VFInstxxx.exe. PQVxd.vxd file This is a support file for VFInstxxx.exe. WinLoad.exe file This application manages the post-OS install operations, such as maximizing the OS partition size and installing WinINSTALL packages. WIRPAdd.exe file This is the Create Reset Partition application. It initiates creation of a reset partition on a Windows workstation. WIRPAdd.hlp file This is the Help file for WIRPAdd.exe (Create Reset Partition application). WIRPRmv.exe file This is the Remove Reset Partition application. It initiates removal of a reset partition on a Windows workstation. WIRPRmv.hlp file This is the Help file for WIRPRmv.exe (Remove Reset Partition application). WIRPWks.exe file This is the Reset Workstation application, which initiates the reset of a Windows workstation. April, 2006 Reference Guide 21 3 W I N I N S TA L L D I R E C T O R Y ST R U C T U R E S Client Reset Folder Structure WIRPWks.hlp file This is the Help file for WIRPWks.exe (Reset Workstation application). WIRPRes.dll file This application extension provides resources for the WIRPxxx applications (Create Reset Partition, Remove Reset Partition, and Reset Workstation). UniCows.dll file This application extension provides Unicode support for Windows 98 workstations. WIShlApi.dll file This application extension provides necessary Windows 98 shell components. WIMBR.com file This program replaces the Master Boot Record when a reset partition is created. It is also the application which starts a reset of the workstation if Ctrl-R is pressed during boot up. WIRPRmv.lnk file This shortcut file references WIRPRmv.exe (Remove Reset Partition application). It is copied to the workstations user’s Start Menu. WIRPWks.lnk file This shortcut file references WIRPWks.exe (Reset Workstation application). It is copied to the workstations user’s Start Menu. Remove.ima file This image file runs as a virtual floppy when the workstation is rebooted by the Remove Reset Partition application. It initiates the actual removal of a reset partition. Reset.ima file This image files runs as a virtual floppy when the workstation is rebooted by the Reset Workstation application. It initiates the actual reset of a workstation. Resize<n>.ima files Four versions of this Resize image file are included. When a workstation is rebooted after an OS install, the appropriate one is run as a virtual floppy, depending on template settings. The versions supplied differ from one another in the following ways: • Resize1.ima resizes the workstation's main partition to its maximum (within the limits of the file system). The workstation boots from this image when WinLoad.exe runs after the operating system is installed. 22 WinINSTALL Desktop Management Suite and Desktop Availability Suite Client Reset Folder Structure ..... W I N I N S TA L L D I R E C T O R Y S T R U C T U R E S • Resize2.ima is the same as Resize1.ima, except that it also patches the Master Boot Record with WIMBR.com. • Resize3.ima is the same as Resize1.ima, except that it also converts the file system to FAT32. • Resize4.ima is the same as Resize2.ima, except that it also converts the file system to FAT32. Logs FOLDER <Log>.txt files These files are the logs created by a Client Reset operation (when logging is enabled in the Template. The Logs folder is not created until the first Client Reset log is created. DosFiles FOLDER NicDrvrs folder This folder contains all the MS-DOS NIC driver files to be used by workstations to connect to the network during boot up. These are treated as language-independent; that is, the user isn’t required to locate versions for each OS language to be supported. <Language> FOLDERS Each such folder contains files that are specific to a supported OS language. The supported languages are Brazilian Portuguese, Chinese (Simplified & Traditional), English, French, German, Italian, Japanese, Korean, and Spanish. DosFiles F O L D E R DOS F O L D E R This folder contains the basic MS-DOS boot-up files: • Command.com • Emm386.exe • HiMem.sys • IO.sys • Keyb.com • Keyboard.sys • MSDOS.sys • RamDrive.sys April, 2006 Reference Guide 23 3 W I N I N S TA L L D I R E C T O R Y ST R U C T U R E S Client Reset Folder Structure • SmartDrv.exe • Sys.com. Extra F O L D E R This folder contains any additional MS-DOS files required by Templates. Net F O L D E R Programs folder This folder contains the MS-DOS network-connection files: • EmsBfr.exe • Hosts • IfsHlp.sys • LmHosts • Nemm.dos • Net.exe • Net.msg • NetBind.com • Neth.msg • Networks • NmTsr.exe • ProtMan.dos • ProtMan.exe • Protocol • Services • TcpDrv.dos • TcpTsr.exe • TcpUtils.ini • TinyRfc.exe • Umb.com 24 WinINSTALL Desktop Management Suite and Desktop Availability Suite Client Reset Folder Structure ..... W I N I N S TA L L D I R E C T O R Y S T R U C T U R E S Img<OS> F O L D E R S This folder contains third-party image installers for a supported operating system. Such folders are created only when a template specifies that the operating system will be installed by means of a third party image, rather than Windows setup. The following Img<OS> folders reflect currently supported operating systems: • Img98 • ImgNTw • ImgNTs • Img2kp • Img2ks • Img2kas • ImgXPp • Img2k3s • Img2k3e • Img2k3w. Data folder This sub-folder contains the third-party image files for the related operating system and language. Win<OS> F O L D E R S These folders contain Windows install files (.CAB, etc.) for the relevant operating systems and languages. Such folders are created only when a template specifies that the operating system will be installed by means of Windows setup, rather than a third party image. The following Win<OS> folders reflect currently supported operating systems: • Win98 • WinNTw • WinNTs • Win2Kp • Win2Ks • Win2Kas • WinXPp\i386 April, 2006 Reference Guide 25 3 W I N I N S TA L L D I R E C T O R Y ST R U C T U R E S Client Reset Folder Structure • Win2K3s\i386 • Win2K3e\i386 • Win2K3w\i386. MAC FOLDER <xx>.MAC files In order to maintain a consistent machine name and WinINSTALL machine ID (GUID) across a Client Reset operation, WinINSTALL automatically links these items with a workstation’s MAC address in a text file, where they will be automatically retrieved and applied after the new operating system is installed. This behavior is automatically built in to the WinINSTALL Client Reset process. These text files are written and maintained automatically by the server Publisher sub-agent. To avoid file contention issues, these files are named according to the last two hex digits of each workstation’s MAC address, plus a .mac extension (for example, 5F.MAC). Each file is written in three tab-delimited columns, with the first column containing the machine name, the second the MAC address, and the last the WinINSTALL machine ID. A typical entry might look like this: SILVER 00:0C:29:EC:39:5F {29A500AE-B5A5-4E5A-8A285297A4111955} In this example, the MAC address will result in the filename 5F.MAC. Note that it is possible for a single MAC file to contain entries for multiple machines. Such a situation, while unusual, is not an error condition and will cause no problems. RPClient FOLDER {GUID} F O L D E R S A unique GUID folder is created for each Client Reset Template. It contains the Unattend.txt file that will be used by the OS installer during reset of a workstation using that template. It may further contain, if reset partitioning is enabled, files required to create a reset partition on a workstation. The following files are found within GUID folders: WIRPAdd.lnk file This is a shortcut to the Create Reset Partition application (WIRPAdd.exe). This link may be provided to workstation users (via e-mail or network share) if they need to create reset partitions on their workstations. This file will exist only if the template supports reset partitions. Unattend.txt file 26 WinINSTALL Desktop Management Suite and Desktop Availability Suite Client Reset Folder Structure ..... W I N I N S TA L L D I R E C T O R Y S T R U C T U R E S This file drives the operating system setup, specifying the settings for the OS installer. UDF.txt file This text file specifies overrides of OS settings in Unattend.txt. This file is optional and is manually created and managed, entirely by the user. Apps.dat file This file contains compressed files used during the MS-DOS phase of a Client Reset. This file will exist only if the template supports reset partitions. PackApp.exe application This file extracts (decompresses) the files contained in the file Apps.dat. This file will exist only if the template supports reset partitions. AutoExec.bat file This file will exist only if the template supports reset partitions. Command.com file This file will exist only if the template supports reset partitions. Config.sys file This file will exist only if the template supports reset partitions. FindRamD.exe file This file will exist only if the template supports reset partitions. IfsHlp.sys file This file will exist only if the template supports reset partitions. IO.sys file This file will exist only if the template supports reset partitions. MSDOS.sys file This file will exist only if the template supports reset partitions. DOS folder This folder will exist under the GUID folder only if the template supports reset partitioning. The following MS-DOS files must be present in this folder: • Emm386.exe • HiMem.sys April, 2006 Reference Guide 27 W I N I N S TA L L D I R E C T O R Y ST R U C T U R E S 3 PXE Client Reset Folder Structure • Keyb.com • Keyboard.sys • RamDrive.sys • SmartDrv.exe • Sys.com Net folder This folder will exist under the GUID folder only if the template supports reset partitioning. The following files will appear in the Net folder: • Network.txt file This file specifies which network cards are supported by this template for workstation reset. • OStart.ini file This file specifies general reset startup information, such as the distribution share to connect to. • TDATA.x file This file contains the logon account required to connect to a distribution share. The data are encrypted. .................................................... PXE CLIENT RESET FOLDER STRUCTURE The PXE Client Reset feature is available only in the WinINSTALL Desktop Availability Suite. The \ClientReset folder is the root folder in the WinINSTALL share for all PXE Client Reset files, including operating system files, console files, drivers, and post-install utilities. It is located directly under the WinINSTALL share and contains the following subfolders: \ClientReset\nnnn FOLDERS These folders contain language-specific operating system files, where nnnn represents the Microsoft-assigned language ID. The following list provides examples for some of the most common language IDs. ID 28 Language 1033 • English 1036 • French 1031 • German WinINSTALL Desktop Management Suite and Desktop Availability Suite PXE Client Reset Folder Structure 1034 • Spanish 1040 • Italian 1046 • Brazilian Portuguese 1041 • Japanese 1042 • Korean 1028 • Traditional Chinese 2052 • Simplified Chinese ..... W I N I N S TA L L D I R E C T O R Y S T R U C T U R E S So, for example, English operating system files would be located within the \ClientReset\1033 folder, while French operating system files would be found beneath the \ClientReset\1036 folder. Operating system files are added as part of the configuration of PXE Client Reset servers. For more information, see the PXE Client Reset chapter of the WinINSTALL Desktop Management Suite and Desktop Availability Suite Administrators Guide. \ClientReset\data FOLDER This folder contains the files required for the PXE Client Reset console functionality. \ClientReset\drivers FOLDER This folder contains all driver files added for PXE Client Reset operations. Drivers are added as part of the configuration of PXE Client Reset servers. For more information, see the PXE Client Reset chapter of the WinINSTALL Desktop Management Suite and Desktop Availability Suite Administrators Guide. \ClientReset\sif FOLDER This folder contains the master unattended files for all operating systems. When a machine is reset, these files are loaded, and then settings specific to the template are applied. TIP: For users knowledgeable in the settings and syntax of Windows unattended files, the files in the ClientReset\sif folder can be edited directly- but this is not recommended, because incorrect settings may result in failed resets. \ClientReset\utilities FOLDER This folder contains all added post-install utilities. April, 2006 Reference Guide 29 3 W I N I N S TA L L D I R E C T O R Y ST R U C T U R E S PXE Client Reset Folder Structure The post-install utilities are specified when configuring PXE Client Reset Servers. For more information, see the PXE Client Reset chapter of the WinINSTALL Desktop Management Suite and Desktop Availability Suite Administrators Guide. 30 WinINSTALL Desktop Management Suite and Desktop Availability Suite T HE W IN INSTALL A GENTS W ..... ................................... 4 inINSTALL uses a Master Agent, also known as the WinINSTALL agent, plus a number of sub-agents to manage WinINSTALL operational tasks such as inventory, software distribution, scheduling, migration, and replication. The WinINSTALL Master Agent and sub-agents also synchronize information between the WinINSTALL database and the WinINSTALL workstations and servers. This agent infrastructure is deployed to machines in the network directly from the WinINSTALL Console, though deployment can also be accomplished manually from the workstation or through scripts executed on a server or workstation. Which infrastructure components, or sub-agents, are installed depends on the role of the machine to be deployed: whether the target machine will operate as a WinINSTALL server or workstation. Workstation deployments include the master agent plus a collection of sub-agents used for different purposes, including software distribution, scheduling, and additional functions. Server deployments include everything deployed to workstations, plus additional sub-agents for server-specific tasks, such as merging information to the database, publishing configuration and job information to workstations, and (in WinINSTALL Desktop Management Suite and Desktop Availability Suite) replicating WinINSTALL data from server to server. .................................................... WININSTALL SUB-AGENTS The WinINSTALL Agent can perform a number of different tasks by means of the installed set of sub-agents. The WinINSTALL Agent, also known as the Master Agent, starts and controls each of the following sub-agents, as needed: CONFI GURATION The Configuration sub-agent moves XML files between the workstation and the share, and it also manages share selection. IPC The IPC sub-agent manages all interprocess communication between the machine on which it is running and the console. For certain purposes, the IPC sub-agent may also communicate between workstations and servers. April, 2006 Reference Guide 31 4 T H E W I N I N S TA L L A G E N T S WinINSTALL Sub-Agents SCHEDULER The Scheduler sub-agent processes all scheduled jobs for the local machine, notifying the appropriate sub-agent at the appointed time. WAKE On the server, the Wake sub-agent transmits Wake-On-LAN packets to target end nodes, as requested by the console, by the Scheduler sub-agent, or by a workstation. On WinINSTALL Desktop Management Suite (DMS) and Desktop Availability Suite (DAS) workstations, this sub-agent also submits requests to the server for future Wake-On-LAN calls. INVENTORY On WinINSTALL DMS and DAS machines, the Inventory sub-agent performs hardware and software inventory jobs, whether scheduled or launched through the Console in real time. DISTRIBUTION The Distribution sub-agent launches the WinINSTALL Automatic Installer to perform all software distribution jobs. MIGRATION The Migration sub-agent performs extractions and/or injections for all backup, migration, and policy jobs on workstations. This sub-agent is available only with the WinINSTALL Desktop Availability Suite (DAS). MERGE The Merge sub-agent, which runs only on servers, reads XML data uploaded to the share by workstations (and servers) and merges the information in these files into the WinINSTALL database. PUBLISHER The Publisher sub-agent runs only on servers and performs several tasks. It reads configuration and job information from the database and writes out XML files containing that information for agents on workstations and servers to process. In the WinINSTALL Desktop Management and Desktop Availability Suites (DMS and DAS), this sub-agent is also responsible for maintaining the MAC address files, which enable machines to retain their machine names and IDs across Client Reset processes, as well as the Dynamic List Files, which enable machines to automatically reinstall their applications after a Client Reset. 32 WinINSTALL Desktop Management Suite and Desktop Availability Suite Agent Deployment ..... T H E W I N I N S TA L L A G E N T S REPLICATION The WinINSTALL DMS and DAS Replication sub-agent moves packages, lists and patches, Client Reset templates, and Personality Transfer repositories from one server to another. This sub-agent is responsible for both the sending and receiving of replication data and can operate in unicast or multicast, as appropriate. HOUSEKEEPER The Housekeeper sub-agent cleans up old XML files and, when running on servers, is also responsible for database cleanup operations. CLIENT RESET The Client Reset sub-agent executes on WinINSTALL Desktop Availability Suite PXE reset servers, handling communication between the server where it is running and PXE client machines which are in the process of booting up or performing PXE resets. .................................................... AGENT DEPLOYMENT The WinINSTALL Agent can be deployed directly from the Console, manually, or through a script or package, using Secure Manual Deployment (SMD). For systems running NT 4 and above, the Agent is most easily deployed from within the WinINSTALL Console. For Windows 9x systems, the Agent must be installed manually or through a script or a package. You can also use scripting along with some of the special features of SMD to automatically deploy the WinINSTALL agent to your entire network or to selected subsets of your network. SECURE MANUAL DEPLOYMENT Deploying the WinINSTALL Agent manually using a Secure Manual Deployment (SMD) file involves two steps. First, you create the SMD file from the Console machine. Then, you deploy the agent on the machine using the SMD file you created and the WIDeploy.exe utility, located in the \bin directory of the WinINSTALL share. WARNING: When you create a Secure Manual Deployment file, you specify the share to use for the initial connection. All machines which use a particular SMD file will connect to the specified share and will be assigned to the server which owns that share. April, 2006 Reference Guide 33 4 T H E W I N I N S TA L L A G E N T S Agent Deployment TIP: To assign machines to different servers using Secure Manual Deployment, create separate SMD files to connect to different shares. The following switches are valid for command-line deployment with WIDeploy.exe: -c <string> • Supplies the database connection string instead of reading it from the WINSTALL.CFG file. -d <mode> • Sets the database mode: • 0 = Don't try to retrieve machine IDs (GUIDs) from the database. • 1 <default> = Try to retrieve machine IDs (GUIDs) from the database. If unsuccessful, generate a machine ID (GUID). • 2 = Only deploy to machines that have a machine ID (GUID) in the database. 34 -e • Stops deployment when errors occur (when deploying to multiple machines) -f • Forces an automatic reboot, if required -i • Ignores the Agent deployed flag in the database when selecting machines -k <context> • Specifies an Active Directory search context (see Query Active Directory (“+”), below). -l • Generates an installer log file in the Windows folder -m MyMachine • -m MyMachine Deploys the Agent to a single machine named MyMachine. -m @MyList.xml • -m @MyList.xml Deploys the Agent to a set of machines, as specified in the XML file MyList.xml located in the current directory. A full path can be used to point to an XML file located elsewhere. The XML file must be in a specific format. See Deploy to a List of Machines (“@”), below. -m * • -m * Deploys the Agent to all machines currently defined in the database to which the Agent has not already been deployed. WinINSTALL Desktop Management Suite and Desktop Availability Suite Agent Deployment ..... T H E W I N I N S TA L L A G E N T S • -m “*MACHINEGROUP='MyGroup' “ Deploys the Agent to all machines that are in the MyGroup machine group to which the Agent has not already been deployed. Anything after “* and before “ is part of a SQL WHERE clause. Technically speaking, the double-quotes are not necessary unless the WHERE clause contains a space (for example, if you use AND or OR). See Query the WinINSTALL Database (“*”), below. • -m +[ad-search-filter][::column] Uses Active Directory to search for machines to which to deploy. See Query Active Directory (“+”), below for full details. -n <count> • Limit the Active Directory search to <count> machines. -p <password> • Supplies the password - if needed - for the database connection string -q • Shows no progress messages (Quiet Mode) -r • Suppresses automatic reboot if required -s • Shows the contents of the SMD (Secure Manual Deployment) file -t <threads> • Specifies the number of simultaneous remote deployments to perform. -u • Monitor the progress of each remote deployment. -w <seconds> • Waits the specified number of seconds between deploying the agent to machines (simple form of bandwidth throttling) -x • Simulates deployment instead of actually deploying the Agent, to verify the machine selection. -? • Shows help AUTOMATING WININSTALL AGENT DEPLOYMENT WIDeploy.exe can deploy to multiple specified machines, it can query the WinINSTALL database and deploy to all listed machines which do not have the WinINSTALL Agent deployed (or to a subset of such machines), and it can sweep the network, using Active Directory, for machines to be added and deployed automatically. In a dynamic IT environment, regular scheduling of this type of automated deployment (for example, through system scheduling of a batch file or the desired command line) can help to significantly reduce administrator workload and assure that all new machines appear in the database promptly and automatically. April, 2006 Reference Guide 35 4 T H E W I N I N S TA L L A G E N T S Agent Deployment TIP: Command line execution of WIDeploy.exe can be piped to a log file (i.e., wideploy.exe -m * >> WIAgentDeploy.log) which can be examined later to assure that all deployments executed as expected. Three variations on the WIDeploy.exe -m switch facilitate this type of automated deployment operation: QUERY THE WININSTALL DATABASE (“*”) “*” indicates a SQL query of the WinINSTALL database. By default, this switch returns all machines in the database which are marked as not having the WinINSTALL agent deployed. SQL syntax can further limit the list of returned machines to a specific subset. DEPLOY TO A LIST OF MACHINES (“@”) “@” indicates an XML file, which contains a list of machines to deploy to, in the following format: <?xml version=”1.0” encoding=”utf-8”?> <MachineList> <Machine>MACHINE1</Machine> <Machine>MACHINE2</Machine> . . . <Machine>MACHINEn</Machine> </MachineList> QUERY ACTIVE DIRECTORY (“+”) “+” indicates an Active Directory query. Further details on AD deployment follow below. The AD query option uses AD query syntax to search the directory. In all of these cases, what is found is automatically filtered by whether the machines are already in the database and deployed. Machines already listed as deployed will not be included in the deployment. In its simplest form, “-m +” would search AD for all computers, check the database to make sure they're not already deployed, and do the deployment as is done for SQL- and XMLselected machines automatically. 36 WinINSTALL Desktop Management Suite and Desktop Availability Suite Agent Deployment ..... T H E W I N I N S TA L L A G E N T S But the Active Directory option provides additional capabilities: “-m +” uses Active Directory to search for machines to which to deploy. The general syntax is:-m +[ad-searchfilter][::column] By default, the entire AD tree is searched for computers, and any that aren't already in the database are candidates for deployment. The “ad-search-filter” is an AD/LDAP filter in RFC2254 form that can be used to qualify the machines selected. The “column” can specify a column to be used for the hostname, and defaults to “dNSHostName.” Typically, the column would only be specified in cases where you don't want deployment to use the fully qualified DNS name for the machine, in which case “cn” would be specified. If no filter is specified, “(&(objectCategory=computer))” is used to select any machines in the forest. If a filter is specified, it will be added to the default so that in no case will anything other than machines be selected. For instance, “-m +cn=a*” would select any machines that began with the letter “a” (resulting in a filter of “(&(objectCategory=computer)(cn=a*))”). The context of the search is determined by the login account, so that if the user is logged in to a sub-domain, only machines in and below that domain are visible. On the other hand, if the login user is in the top level domain, the entire forest is visible (with potential performance implications). The –k switch can be used to change the search context from the default. For instance, “-k cn=Computers,dc=unitedwidgets,dc=com” would search the Computers folder only, and not the entire AD forest. As each machine is returned from AD, it is checked against the database to see if has already been added, and if not, becomes a candidate for deployment. In this way, the AD tree can be periodically swept for machines that aren't already in the database, for instance. By default, both the long (“dNSHostName”) and short (“cn”) are checked to make sure the machine(s) aren't already in the database. If the machine has no long name, or if “cn” was specified as the hostname column, only the short name would be searched. Both the NAME and SHORTNAME columns are searched in any case. The –n switch can be used to limit the number of machines to be added, or to return a larger number of machines than AD supports by default – 1000 or 1500, depending on the OS. TIP: It is strongly recommended to use the –x switch to simulate deployment until the search filter and context have been refined to select the machines to which to be deployed. April, 2006 Reference Guide 37 4 T H E W I N I N S TA L L A G E N T S Agent Communication .A. .G. E. .N. .T. .C. O. . M. .M. .U. N. . I.C. .A. T. .I O. . N. . . . . . . . . . . . . . . . . . . . . . . . Agents communicate via TCPIP. Agent communication with the database is bidirectional, to and from the WinINSTALL Share. Information is stored in XML format and moved via the WinINSTALL Agent to and from the WinINSTALL Share. The WinINSTALL Master Agent runs as a service on Windows NT 4, Windows 2000, Windows XP, and Windows 2003. The WinINSTALL Master Agent runs as a process on Windows 9x systems. CONFI GURATION AND TRANSACTI ON FI LES Communication from the database to the agents is by means of XML files written by the server’s Publisher sub-agent into the share’s \CFGFiles folder. These files include the site list (the list of shares available for connection and their selection configuration information), agent-specific configuration files, and scheduled jobs. Each machine’s Master Agent retrieves its configuration files and stores them in the local CFGFiles folder (C:\Program Files\OnDemand\CFGFiles\). Communication from the agents to the database is by means of XML files uploaded by each machine’s Master Agent from its local TxFiles folder (C:\Program Files\OnDemand\TxFiles\) to the share’s \TxFiles folder, where the server’s Merge Agent reads them and enters their data into the WinINSTALL database. These files include job completion notifications, inventory result files, and event log entries, CFGFILES During normal operation, the CFGFiles folder contains a collection of xml files such as these: 0B33DAF4-3970-4B51-B015005D99D9FF55.Type=CFGDST.State=Written.Seq=0.Flags=0.xml 0B33DAF4-3970-4B51-B015005D99D9FF55.Type=CFGMA.State=Written.Seq=0.Flags=0.xml 608B7DFE-15D2-4CD3-986052326EC56C80.Type=CFGHK.State=Written.Seq=0.Flags=0.xml 608B7DFE-15D2-4CD3-986052326EC56C80.Type=CFGMRG.State=Written.Seq=0.Flags=0.xml 38 WinINSTALL Desktop Management Suite and Desktop Availability Suite Agent Communication ..... T H E W I N I N S TA L L A G E N T S 608B7DFE-15D2-4CD3-986052326EC56C80.Type=CFGPUB.State=Written.Seq=0.Flags=0.xml 608B7DFE-15D2-4CD3-986052326EC56C80.Type=SlSites.State=Written.Seq=0.Flags=0.xml 24DEDFFD-048B-425F-B845-79F7DCE50849.Type=Sched(8C30BC5CDBC9-4A95-8BED-A95AF2FAE083).State=Written.Seq=0.Flags=0.xml TXFILES Typical files in the TxFiles folder are ones like these: 24DEDFFD-048B-425F-B84579F7DCE50849.Type=EvLog.State=Writing.Seq=1.Flags=2.xml 24DEDFFD-048B-425F-B84579F7DCE50849.Type=SlSw.State=Uploaded.Seq=1.Flags=1.xml 24DEDFFD-048B-425F-B84579F7DCE50849.Type=SlSw.State=Uploaded.Seq=2.Flags=4.xml 24DEDFFD-048B-425F-B84579F7DCE50849.Type=SlSys.State=Uploaded.Seq=1.Flags=1.xml 24DEDFFD-048B-425F-B84579F7DCE50849.Type=SlSw.State=Merged.Seq=2.Flags=4.xml 24DEDFFD-048B-425F-B84579F7DCE50849.Type=SlSys.State=Merged.Seq=3.Flags=4.xml XML FILENAMES The filenames of the CFGFiles and TXFiles are constructed of five elements, each of which is used to convey important information to the various agents involved: 1. GUID • Machine or machine group ID, indicating the machine or group of machines to which the file is applicable. 2. Type= • Possibilities vary, depending on whether it’s a CfgFile or a TxFile. • Cfg file types: • CFGagent (configuration information for sub-agent agent) • Sched(GUID) (scheduled job, including job GUID) • SlSites (site list). April, 2006 Reference Guide 39 T H E W I N I N S TA L L A G E N T S 4 Agent Communication • Tx file types: • slsw (software inventory) • slsys (hardware inventory) • EvLog (event log) • JobComp (job completion). 3. State= • Current file status: writing, written, uploaded, merging, merged, or error (diagnostic info.). 4. Seq= • Sequence number. Each time a new file is generated, and a file of the same type already exists, the sequence number is incremented. Most often seen with EvLog files. 5. Flags= • Currently unused. INFORMATION FLOW FROM THE DATABASE TO THE WORKSTATION 1 When changes are made to settings from within the WinINSTALL Console, they are written directly to the WinINSTALL database. 2 The Publisher sub-agent reads the changes from the database and writes them as XML files into the CfgFiles directory of the WinINSTALL Share. Depending on the configuration, the publisher performs this action in one or more of the following ways: immediately, as soon as the information is written to the database; at the specified Publisher Processing Interval; or on demand, 3 The XML files are named with the GUID of the appropriately affected machines to insure that settings and jobs are retrieved by the intended machines. NOTE: The Publisher Processing Interval is set on the Server tab of the WinINSTALL Agent Settings dialog. 4 At the specified Config File Processing Interval, the WinINSTALL Master Agents on the server and workstations examine the CfgFiles directory of the WinINSTALL Share, locate any XML files that contain settings or jobs for their local machines, and copy these files to their own local CfgFiles directories. 40 WinINSTALL Desktop Management Suite and Desktop Availability Suite Share Configuration and Selection ..... T H E W I N I N S TA L L A G E N T S NOTE: The Config File Processing Interval is set on the Advanced tab of the WinINSTALL Agent Settings dialog. 5 The Scheduler agent reads scheduled job XML files and notifies appropriate subagents at the appointed times that they have jobs scheduled. 6 At each workstation or server, when sub-agents are executed, they read the configuration files to be sure they use the most current settings. DATA FLOW FROM THE WORKSTATION TO THE DATABASE 1 At the specified Transaction File Processing Interval, the WinINSTALL Master Agents on both servers and workstations read their local TxFiles directories and copy any new XML files found there to the TxFiles directory of the WinINSTALL Share. These files contain information such as logs of sub-agent activity, inventory data, etc. NOTE: The Transaction File Processing Interval is set on the Advanced tab of the WinINSTALL Agent Settings dialog. 2 At the specified Merge Processing Interval or on demand, the WinINSTALL Master Agent on the server launches the Merge sub-agent, which examines the TxFiles directory on the WinINSTALL Share, looking for new XML files. The Merge sub-agent reads these files and merges the information they contain into the WinINSTALL database. NOTE: The Merge Processing Interval is set on the Server tab of the WinINSTALL Agent Settings dialog. .................................................... SHARE CONFIGURATION AND SELECTION This section presents a brief overview of WinINSTALL share configuration and selection. Please consult the Managing Machines and Agents chapter of the WinINSTALL Administrators Guide for full details on these subjects. April, 2006 Reference Guide 41 4 T H E W I N I N S TA L L A G E N T S Share Configuration and Selection SHARE ASSIGNMENT WinINSTALL workstations are assigned to servers. One or more WinINSTALL shares are assigned to each WinINSTALL server. The shares assigned to a server are available to those workstations which are assigned to that server. SHARE OWNERSHI P AND MERGE/PUBLISH RESPONSI BI LI TY Each WinINSTALL share has a WinINSTALL server designated as its owner. That server may or may not be the physical host for the share. That is, a share may be located on one machine but owned by another machine. This configuration flexibility enables even nonWindows machines to host WinINSTALL shares. By default, the share owner is responsible for merge and publish responsibility for that share. However, network topology and other considerations may make it more desirable to configure merge and publish responsibility for a share to a WinINSTALL server other than the share owner. WinINSTALL fully supports such configurations. Nevertheless, share ownership is important, particularly for Secure Manual Deployment. When WinINSTALL agents are deployed to a machine through SMD, the machine is assigned to the server designated as owner of the machine’s initial WinINSTALL share. Share ownership is also critical to WinINSTALL replication. Replication moves data from the source server’s first owned share to (in most cases) all the target server’s owned shares. For details on replication, including sources and targets, see the Replication chapter of the WinINSTALL Administrators Guide. For details on configuring share ownership, and for ordering owned shares, see the Machines and Agents chapter of the WinINSTALL Administrators Guide. SHARE SELECTION PROCEDURES By default, each WinINSTALL machine attempts to connect to the first share in its sitelist file. If that connection fails, the machine will move on to the next share in the list, and so on, until a connection succeeds or the machine runs out of shares to try. This procedure, known as sequential scan, provides good backup/failover capability, but it is not necessarily the optimal procedure for mobile users. The WinINSTALL Desktop Management Suite and Desktop Availability Suite products provide additional share selection options that enable each machine to dynamically determine the nearest share to connect to. This determination can be accomplished by means of examining subnet addresses, or by traffic analysis--or both. These configuration options are configured on a per-share basis. That is, one share in a machine’s site list may be configured to use one selection procedure, while others may be configured to use different procedures. 42 WinINSTALL Desktop Management Suite and Desktop Availability Suite Share Configuration and Selection ..... T H E W I N I N S TA L L A G E N T S In such a situation, the machine will always process shares configured to use subnet address selections first. If no share with a suitable subnet address is found, the machine will next process those shares configured for selection by traffic analysis. If traffic analysis does not yield a share with an acceptable response time, then the machine will finally revert to the sequential scan method. As with the other areas of share configuration, details on the share selection process and how to configure it to meet your needs are presented in the Managing Machines and Agents chapter of the WinINSTALL Administrators Guide. April, 2006 Reference Guide 43 4 44 T H E W I N I N S TA L L A G E N T S Share Configuration and Selection WinINSTALL Desktop Management Suite and Desktop Availability Suite Section 2 ..... ................................... W IN INSTALL D ATABASE .................................................................... C HAPTER 5: W IN INSTALL D ATABASE C HAPTER 6: W IN INSTALL D ATABASE T ABLES April, 2006 Reference Guide 45 46 WinINSTALL Desktop Management Suite and Desktop Availability Suite 5 W IN INSTALL D ATABASE A ..... ................................... ll WinINSTALL information is stored in a centralized database. WinINSTALL Agents installed on WinINSTALL workstations and servers control the flow of information to and from the database. From the database, configuration changes can be sent out globally or individually, inventory and conflict assessment information can be viewed and used for desktop management, and reports can be generated. .................................................... DATABASE SCHEMA A complete description of all tables in the WinINSTALL database is included in the WinINSTALL Database Tables chapter of this Reference Guide. You can use this information with third-party database mining tools and to create custom reports, if you have a copy of Crystal Designer. .................................................... SUPPORTED DATABASE PLATFORMS WinINSTALL supports the following database platforms: MICROSOFT® SQL SERVER 2000 DESKTOP ENGINE ( MSDE 2000) • MSDE 2000 with Service Pack 3a ships with WinINSTALL.. • Database size limited to 2 GB. • Has a 5-session limit. • A good database to use for small locations with less than 100 computers. MICROSOFT® SQL SERVER 2000 • A much more robust database engine. • Recommended for larger organizations. • Should have latest service packs installed. MICROSOFT® SQL SERVER 2005 • Latest version of Microsoft database engine. • Available in a variety of editions for organizations of various sizes. April, 2006 Reference Guide 47 W I N I N S TA L L D A T A B A S E 5 Upgrading the Database Schema from Previous Releases • Should have latest service packs installed. ORACLE® 9I OR LATER • Another very robust database engine. • Recommended for larger organizations that have Oracle already in use for other purposes. • Should have latest updates installed. UPGRADING THE DATABASE SCHEMA FROM PREVIOUS RELEASES .................................................... WinINSTALL comes with two DDL files that can be used to install a new database and two DDLs that can be used upgrade an older database schema to the current version. These DDLs ship with WinINSTALL and can be found in the bin directory of the WinINSTALL share. The easiest way to set up a new database is to use the DB Setup Wizard. However, users who prefer to install the database with a SQL Server or Oracle utility can use one of the two following DDLs: WINSTALL.DB.DDL • for use with SQL Server and MSDE 2000 WINSTALL.DB_ORC.DDL • for use with Oracle 9 Users who need to upgrade their WinINSTALL database from its current (older) version to the newest version should use one of the two following DDLs: WI_SSRV_UPD.DDL is used with the utility OSQL to update a SQL Server/MSDE database. WI_ORAC_UPD.DDL is used with the utility SQLPLUS to update an Oracle 9i or later database. Instructions are provided below for upgrading each type of database. UPGRADING A MI CROSOFT SQL SERVER OR MSDE WINI NSTALL DATABASE If you have a previous version of the WinINSTALL database and want to upgrade to the most current version, do the following: 1 From the machine where the database resides, open a command prompt and use OSQL.EXE to update the database schema, using the WI_SSRV_UPD.DDL in the WinINSTALL\bin directory. 2 48 If you use SQL Server authentication, use the following command: WinINSTALL Desktop Management Suite and Desktop Availability Suite Upgrading the Database Schema from Previous Releases ..... W I N I N S TA L L D A T A B A S E osql -I -n -S DBMachine\WinINSTALL -d DBName -i C:\Program Files\WinINSTALL\bin\WI_SSRV_UPD.DDL -U sa -P pwd where DBMachine refers to the machine where your WinINSTALL database resides, \WinINSTALL refers to the instance name, DBName refers to the name of your database, sa refers to the account and pwd refers to your password. 3 If you use NT authentication, use the following command: osql -I -n -S DBMachine\WinINSTALL -d DBName -i C:\Program Files\WinINSTALL\bin\WI_SSRV_UPD.DDL -E where DBMachine refers to the machine where your WinINSTALL database resides, \WinINSTALL refers to the instance name, and DBName refers to the name of your database. UPGRADING AN ORACLE WINI NSTALL DATABASE Upgrading an Oracle database requires the use of the program SQLPLUS, provided with Oracle. You can use the command line utility, SQLPLUS, or the version providing a user interface, SQLPLUSW. If you have a previous version of an Oracle WinINSTALL database and want to upgrade to the most current version, use the following instructions apply to upgrade with SQLPLUS. You will need the following information: • The local net service name associated with the WinINSTALL database. • The user ID of the owner of the WinINSTALL database. • The password associated with the user ID. • The path of the file containing the upgrade DDL - WI_ORAC_UPD.DDL. This file is found in the \bin directory of the WinINSTALL share. It is easiest to run the utility on a machine where the WinINSTALL console is installed because such a machine should already have a local net service name assigned to the database. Running SQLPLUS to perform the upgrade is a four-step process. 1 Open a command prompt window for entering the command. 2 Start the SQLPLUS program. 3 Tell SQLPLUS to run the .DDL file. 4 Exit the SQLPLUS program. Here is an example of how to perform an Oracle upgrade, using the values specified below: Local Net Service Name: YourDB User ID: system April, 2006 Reference Guide 49 5 W I N I N S TA L L D A T A B A S E Upgrading the Database Schema from Previous Releases Password: pwd DDL File Path: \\ShareMachine\WinINSTALL\Bin\WI_ORAC_UPD.DDL First, open a command prompt and start SQLPLUS with the following command line: sqlplus system/pwd@YourDB A few lines of copyright information will be displayed, followed by a SQL> prompt. At this prompt, enter the following command: start \\ShareMachine\WinINSTALL\Bin\WI_ORAC_UPD.DDL Several screens full of informational messages will display as the schema is updated. You may want to scroll back to ensure that no errors were encountered. Finally, to exit the program, at the next SQL> prompt, enter this command: exit You return to the command prompt window's command prompt and enter another exit, which closes the command prompt window. 50 WinINSTALL Desktop Management Suite and Desktop Availability Suite 6 W IN INSTALL D ATABASE T ABLES ..... ................................... T his chapter documents all tables in the WinINSTALL database, presenting each database table in a tabular arrangement, including table name, column name, data type, column size, and precision (where applicable) for both SQL Server and Oracle, plus whether the field is required or not. For character data types, the length shown is the length in characters. For other data types, the specified length is the number of bytes occupied by the value within the table. Some types, such as text and image, occupy space in a special place in the database, because they are often too large for a normal row. These types have 16 bytes of overhead in the row. Similar Oracle types, (LONG and LONG RAW), do not have a length specified, for the same reason. The tables are grouped below according to the WinINSTALL components which make primary use of them. Note that, despite their grouping here, many of these tables are used by multiple WinINSTALL features and components, and often for purposes which are not obvious. .................................................... DATABASE VERSION TABLE WI_VERSION Column Name DBVERSION PRODVERSION INTERIM April, 2006 SQL Server Type decimal nvarchar decimal Oracle Length Precision 5 12 5 4 2 Type NUMBER VARCHAR2 NUMBER Length Precision 22 12 22 4 2 Req’d? Yes No No Reference Guide 51 6 W I N I N S TA L L D A T A B A S E TA B L E S Agent Infrastructure Tables .................................................... AGENT INFRASTRUCTURE TABLES WIAI _CHANGE_NOTICES Column Name TYPE TARGETID PARAM1 SQL Server Type Oracle Length Precision smallint uniqueidentifier nvarchar 2 16 40 5 Type Length Precision NUMBER CHAR VARCHAR2 22 38 40 3 Req’d? Yes Yes No WIAI _EXCLUSION Column Name EXCLUSIONID MACHINEID EXCLUSION SQL Server Type Length Precision uniqueidentifier uniqueidentifier nvarchar 16 16 256 Oracle Type Length Precision CHAR CHAR VARCHAR2 38 38 256 Req’d? Yes Yes Yes WIAI _EXTENSION Column Name EXTENSIONID MACHINEID EXTENSION 52 SQL Server Type uniqueidentifier uniqueidentifier nvarchar Length Precision 16 16 10 WinINSTALL Desktop Management Suite and Desktop Availability Suite Oracle Type CHAR CHAR VARCHAR2 Length Precision 38 38 10 Req’d? Yes Yes Yes Agent Infrastructure Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S WIAI _HKSETTINGS SQL Server Column Name MACHINEID LOGPURGE Type Oracle Length Precision uniqueidentifier smallint 16 2 5 Type Length Precision CHAR NUMBER 38 22 5 Req’d? Yes No WIAI _INVSETTI NGS SQL Server Column Name MACHINEID MODE FULLSCAN CHANGELOG Type Oracle Length Precision uniqueidentifier tinyint tinyint tinyint 16 1 1 1 3 3 3 Type Length Precision CHAR NUMBER NUMBER NUMBER 38 22 22 22 38 38 38 Req’d? Yes Yes Yes Yes WIAI _JOBBIGPARAMS Column Name JOBBIGPARAMID JOBID PARAM_NAME AGENT_PARAMETER April, 2006 SQL Server Type uniqueidentifier uniqueidentifier nvarchar text Length Precision 16 16 50 16 Oracle Type CHAR CHAR VARCHAR2 LONG Length Precision 38 38 50 Req’d? Yes Yes Yes Yes Reference Guide 53 W I N I N S TA L L D A T A B A S E TA B L E S 6 Agent Infrastructure Tables WIAI _JOBCOMPLETION SQL Server Column Name JOBCOMPLETIONID MACHINEID JOBID START_TIME END_TIME ERROR_CODE AGENT_NAME MESSAGE PARAM1 PARAM2 PARAM3 PARAM4 PARAM5 PROCESSED Type Oracle Length Precision uniqueidentifier uniqueidentifier uniqueidentifier datetime datetime int nvarchar nvarchar text nvarchar nvarchar nvarchar nvarchar bit 16 16 16 8 8 4 100 2048 16 256 256 256 256 1 10 1 Type Length Precision CHAR CHAR CHAR DATE DATE NUMBER VARCHAR2 VARCHAR2 LONG VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 CHAR 38 38 38 7 7 22 100 2048 10 256 256 256 256 1 Req’d? Yes Yes No Yes Yes Yes Yes No No No No No No Yes WIAI _JOBMACHINES Column Name JOBID MACHINEID 54 SQL Server Type uniqueidentifier uniqueidentifier Length Precision 16 16 WinINSTALL Desktop Management Suite and Desktop Availability Suite Oracle Type CHAR CHAR Length Precision 38 38 Req’d? Yes Yes Agent Infrastructure Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S WIAI _JOBNETCRI TERI A Column Name JOBNETCRITERIAID JOBID TYPE VALUE PARENTVALUE SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier tinyint nvarchar nvarchar 16 16 1 255 255 3 Type Length Precision CHAR CHAR NUMBER VARCHAR2 VARCHAR2 38 38 22 255 255 38 Req’d? Yes Yes Yes Yes No WIAI _JOBPARAMS Column Name JOBPARAMID JOBID PARAM_NAME AGENT_PARAMETER SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier nvarchar nvarchar 16 16 50 256 Type Length Precision CHAR CHAR VARCHAR2 VARCHAR2 38 38 50 256 Req’d? Yes Yes Yes Yes WIAI _JOBS Column Name JOBID NAME AGENT_NAME AGENT_OPERATION CRITERIA SCHEDULE UPDATED DELETED April, 2006 SQL Server Type uniqueidentifier nvarchar nvarchar int tinyint ntext datetime tinyint Oracle Length Precision 16 50 256 4 1 16 8 1 10 3 3 Type CHAR VARCHAR2 VARCHAR2 NUMBER NUMBER LONG DATE NUMBER Length Precision 38 50 256 22 22 38 38 7 22 1 Req’d? Yes Yes Yes Yes Yes Yes Yes No Reference Guide 55 6 Column Name WAKE_OPTIONS ROLE SUSPENDED W I N I N S TA L L D A T A B A S E TA B L E S Agent Infrastructure Tables SQL Server Type Oracle Length Precision smallint smallint tinyint 2 2 1 5 5 3 Type Length Precision NUMBER NUMBER NUMBER 22 22 22 Req’d? 3 3 1 No No No WIAI _LOGVARI ABLE Column Name LOGVARIABLEID MACHINEID TYPE VARIABLE SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier tinyint nvarchar 16 16 1 255 3 Type CHAR CHAR NUMBER VARCHAR2 Length Precision 38 38 22 255 Req’d? 38 Yes Yes Yes Yes WIAI _MASETTI NGS Column Name MACHINEID LOGGING_LEVEL LOGGING_OPTIONS TRAY_ICON TRAY_CLOSEABLE CFG_INTERVAL TF_INTERVAL NETWORK_RETRY JOBSCAN_INTERVAL IPC_PORT DISABLE_SEH NETWARE_NDS 56 SQL Server Type uniqueidentifier int bigint int int int int int int int int int Oracle Length Precision 16 4 8 4 4 4 4 4 4 4 4 4 10 19 10 10 10 10 10 10 10 10 10 WinINSTALL Desktop Management Suite and Desktop Availability Suite Type CHAR NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER Length Precision 38 22 22 22 22 22 22 22 22 22 22 22 38 38 38 38 38 38 38 38 38 38 38 Req’d? Yes No No No No No No No No No No No Agent Infrastructure Tables SQL Server Column Name Type NETWARE_SERVER NETWARE_TREE NETWARE_USER NETWARE_PASSWORD DB_CONNECTION DB_PASSWORD UPDATE_INTERVAL UPDATE_ONSTART NEAREST_SERVER Oracle Length Precision nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar int tinyint tinyint 256 256 256 256 256 100 4 1 1 10 3 3 Type Length Precision VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 NUMBER NUMBER NUMBER 256 256 256 256 256 100 22 22 22 9 3 1 ..... W I N I N S TA L L D A T A B A S E TA B L E S Req’d? No No No No No No No No No WIAI _MERGESETTINGS SQL Server Column Name Type MACHINEID uniqueidentifier SUPPRESS_DB_WRITE tinyint ROLLUP_PATH1 nvarchar ROLLUP_PATH2 nvarchar ROLLUP_PATH3 nvarchar INTERVALSCAN int TXFILE_GENERATIONS smallint Oracle Length Precision 16 1 255 255 255 4 2 3 10 5 Type Length Precision CHAR NUMBER VARCHAR2 VARCHAR2 VARCHAR2 NUMBER NUMBER 38 22 255 255 255 22 22 38 38 4 Req’d? Yes No No No No No No WIAI _PACKAGE_PATHS Column Name PACKAGEID PATHID April, 2006 SQL Server Type uniqueidentifier uniqueidentifier Length Precision 16 16 Oracle Type CHAR CHAR Length Precision 38 38 Req’d? Yes Yes Reference Guide 57 6 W I N I N S TA L L D A T A B A S E TA B L E S Agent Infrastructure Tables WIAI _PACKAGES Column Name PACKAGEID DESCRIPTION PATH FLAGS SQL Server Type Oracle Length Precision uniqueidentifier nvarchar varchar smallint 16 128 512 2 5 Type Length Precision CHAR VARCHAR2 VARCHAR2 NUMBER 38 128 512 22 2 Req’d? Yes Yes Yes Yes WIAI _PUBSETTI NGS Column Name MACHINEID INTERVALSCAN DYNLSTINTCOUNT SQL Server Type Oracle Length Precision uniqueidentifier int int 16 4 4 10 10 Type CHAR NUMBER NUMBER Length Precision 38 22 22 38 38 Req’d? Yes No No WAI_REASSIGNED_WORKSTATI ONS Column Name WORKSTATIONID OLDSERVERID NEWSERVERID STATUS 58 SQL Server Type uniqueidentifier uniqueidentifier uniqueidentifier tinyint Oracle Length Precision 16 16 16 1 3 WinINSTALL Desktop Management Suite and Desktop Availability Suite Type CHAR CHAR CHAR NUMBER Length Precision 38 38 38 22 1 Req’d? Yes Yes Yes Yes Agent Infrastructure Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S WIAI _REPSETTINGS Column Name MACHINEID MCASTRANGESTART MCASTRANGEEND USEMADCAP JOBLOGRETENTION ACTIVEQSIZE PENDINGQSIZE PORTSETTINGS SQL Server Type Oracle Length Precision uniqueidentifier int int tinyint smallint smallint smallint int 16 4 4 1 2 2 2 4 Type Length Precision CHAR NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER 10 10 3 5 5 5 10 38 22 22 22 22 22 22 22 Req’d? 38 38 38 38 38 38 10 Yes No No No No No No No WIAI _SDSETTINGS Column Name SQL Server Type MACHINEID uniqueidentifier LST_FILE nvarchar STARTUP_MODE int SCAN_SUBLSTS int CLIENT_LAUNCH_DACL ntext ELEVATION_DACL ntext CLIENT_LAUNCH_DACL_C LOBID (Oracle Only) ELEVATION_DACL_CLOBID (Oracle Only) April, 2006 Oracle Length Precision 16 256 4 4 16 16 10 10 Type Length Precision CHAR VARCHAR2 NUMBER NUMBER VARCHAR2 VARCHAR2 CHAR 38 256 22 22 10 10 38 CHAR 38 38 38 Req’d? Yes Yes No No No No No No Reference Guide 59 6 W I N I N S TA L L D A T A B A S E TA B L E S Conflict Assessment Tables WIAI _WAKESETTINGS Column Name MACHINEID DELIVERY_METHOD SQL Server Type Oracle Length Precision uniqueidentifier smallint 16 2 5 Type Length Precision CHAR NUMBER 38 22 3 Req’d? Yes Yes .................................................... CONFLICT ASSESSMENT TABLES WICA_ASSESSEDPACKAGES Column Name CA_ASSESSEDPACKA GES_ID CA_WFILES_ID1 CA_WFILES_ID2 LOAD1_ID LOAD2_ID STATUS SQL Server Type Oracle Length Precision Type Length Precision Req’d? uniqueidentifier 16 CHAR 38 Yes uniqueidentifier uniqueidentifier uniqueidentifier uniqueidentifier smallint 16 16 16 16 2 CHAR CHAR CHAR CHAR NUMBER 38 38 38 38 22 Yes Yes No No Yes 5 38 WICA_ASSESSMENTHISTORY Column Name SQL Server Type CA_ASSESSMENTSETS_ID uniqueidentifier CA_ASSESSEDPACKAGES_ID uniqueidentifier 60 Length Precision 16 16 WinINSTALL Desktop Management Suite and Desktop Availability Suite Oracle Type CHAR CHAR Length Precision 38 38 Req’d? Yes Yes Conflict Assessment Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S WICA_ASSESSMENTSETS SQL Server Column Name Type CA_ASSESSMENTSETS_ID DESCRIPTION Oracle Length Precision uniqueidentifier nvarchar 16 80 Type Length Precision CHAR VARCHAR2 38 80 Req’d? Yes Yes WICA_CONFLICTS SQL Server Column Name Type Oracle Length Precision CA_ASSESSEDPACKAGES_ID uniqueidentifier SEQ int CATEGORY smallint SUB_CATEGORY smallint DATA_ID uniqueidentifier 16 4 2 2 16 10 5 5 Type Length Precision CHAR NUMBER NUMBER NUMBER CHAR 38 22 22 22 38 38 38 38 Req’d? Yes Yes Yes Yes No WICA_INI FI LEADDS Column Name CA_WFILES_ID CA_PATHS_ID VALUE April, 2006 SQL Server Type uniqueidentifier uniqueidentifier ntext Length Precision 16 16 16 Oracle Type CHAR CHAR LONG Length Precision 38 38 Req’d? Yes Yes No Reference Guide 61 6 W I N I N S TA L L D A T A B A S E TA B L E S Conflict Assessment Tables WICA_INI FI LEREMOVES Column Name CA_WFILES_ID CA_PATHS_ID FLAGS SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier smallint 16 16 2 5 Type CHAR CHAR NUMBER Length Precision 38 38 22 Req’d? Yes Yes Yes 38 WICA_JOBHISTORY SQL Server Column Name Type Length Precision CA_ASSESSMENTSETS_ID uniqueidentifier CA_JOB_ID uniqueidentifier 16 16 Oracle Type CHAR CHAR Length Precision Req’d? 38 38 Yes Yes WICA_PACKAGEDI RADDS Column Name CA_WFILES_ID CA_PATHS_ID SQL Server Type Length Precision uniqueidentifier uniqueidentifier 16 16 Oracle Type CHAR CHAR Length Precision 38 38 Req’d? Yes Yes WICA_PACKAGEDI RREMOVES Column Name CA_WFILES_ID CA_PATHS_ID 62 SQL Server Type uniqueidentifier uniqueidentifier Length Precision 16 16 WinINSTALL Desktop Management Suite and Desktop Availability Suite Oracle Type CHAR CHAR Length Precision 38 38 Req’d? Yes Yes Conflict Assessment Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S WICA_PACKAGEFI LEADDS Column Name CA_WFILES_ID CA_PATHS_ID FILE_VERSION FILE_MOD_DATE FILE_SIZE FILE_ATTRIBUTES SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier nvarchar datetime bigint int 16 16 30 8 8 4 19 10 Type Length Precision CHAR CHAR VARCHAR2 DATE NUMBER NUMBER 38 38 30 7 22 22 38 38 Req’d? Yes Yes No No No Yes WICA_PACKAGEFILEREMOVES Column Name CA_WFILES_ID CA_PATHS_ID SQL Server Type Length Precision uniqueidentifier uniqueidentifier 16 16 Oracle Type Length Precision CHAR CHAR 38 38 Req’d? Yes Yes WICA_PATHS Column Name CA_PATHS_ID PARENT_ID NAME April, 2006 SQL Server Type uniqueidentifier uniqueidentifier nvarchar Length Precision 16 16 440 Oracle Type CHAR CHAR VARCHAR2 Length Precision 38 38 512 Req’d? Yes No Yes Reference Guide 63 6 W I N I N S TA L L D A T A B A S E TA B L E S Conflict Assessment Tables WICA_REGISTRYKEYADDS Column Name CA_WFILES_ID CA_PATHS_ID SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier 16 16 Type CHAR CHAR Length Precision 38 38 Req’d? Yes Yes WICA_REGISTRYKEYDELETES Column Name CA_WFILES_ID CA_PATHS_ID SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier 16 16 Type CHAR CHAR Length Precision 38 38 Req’d? Yes Yes WICA_REGISTRYVALUEADDS Column Name CA_WFILES_ID CA_PATHS_ID VALUE_TYPE VALUE_SIZE VALUE 64 SQL Server Type uniqueidentifier uniqueidentifier int smallint nchar Oracle Length Precision 16 16 4 2 8 10 5 WinINSTALL Desktop Management Suite and Desktop Availability Suite Type CHAR CHAR NUMBER NUMBER CHAR Length Precision 38 38 22 22 8 38 38 Req’d? Yes Yes Yes Yes Yes Conflict Assessment Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S WICA_REGISTRYVALUEDELETES SQL Server Column Name CA_WFILES_ID CA_PATHS_ID Type Oracle Length Precision uniqueidentifier uniqueidentifier 16 16 Type Length Precision CHAR CHAR 38 38 Req’d? Yes Yes WICA_SHORTCUTADDS Column Name CA_WFILES_ID LINK_FILE_CA_PATHS _ID EXECUTABLE_CA_PA THS_ID EXECUTABLE_ARGS ICON_FILE_CA_PATH S_ID ICON_INDEX WORKING_DIR_CA_P ATHS_ID HOT_KEY SHOW_CMD LABEL April, 2006 SQL Server Type Oracle Length Precision Type Length Precision Req’d? uniqueidentifier uniqueidentifier 16 16 CHAR CHAR 38 38 Yes Yes uniqueidentifier 16 CHAR 38 Yes nvarchar uniqueidentifier 256 16 VARCHAR2 CHAR 256 38 Yes Yes smallint uniqueidentifier 2 16 5 NUMBER CHAR 22 38 38 Yes Yes smallint smallint nvarchar 2 2 256 5 5 NUMBER NUMBER VARCHAR2 22 22 256 38 38 Yes Yes Yes Reference Guide 65 6 W I N I N S TA L L D A T A B A S E TA B L E S Conflict Assessment Tables WICA_SHORTCUTDELETES Column Name SQL Server Type Oracle Length Precision CA_WFILES_ID uniqueidentifier LINK_FILE_CA_PATHS_ID uniqueidentifier Type 16 16 Length Precision CHAR CHAR Req’d? 38 38 Yes Yes WICA_WFILE_XREF Column Name SQL Server Type Oracle Length Precision CA_ASSESSMENTSETS_ID uniqueidentifier CA_WFILES_ID uniqueidentifier 16 16 Type Length Precision CHAR CHAR Req’d? 38 38 Yes Yes WICA_WFILES Column Name CA_WFILES_ID WFILE_PATH DESCRIPTION FLAGS STATUS FILE_TIME LOAD_ID FILE_SIZE 66 SQL Server Type uniqueidentifier nvarchar nvarchar smallint smallint datetime uniqueidentifier int Oracle Length Precision 16 1000 80 2 2 8 16 4 5 5 10 WinINSTALL Desktop Management Suite and Desktop Availability Suite Type CHAR VARCHAR2 VARCHAR2 NUMBER NUMBER DATE CHAR NUMBER Length Precision 38 1000 80 22 22 7 38 22 38 38 38 Req’d? Yes Yes Yes Yes Yes Yes No Yes Console Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S .................................................... CONSOLE TABLES WICON_ASSET Column Name ASSETID ASSETNAME DESCRIPTION LOCATION OWNER DELIVERYDATE MATCHINGTYPE MATCHINGID ASSETTYPEID DEPARTMENT SQL Server Type Oracle Length Precision uniqueidentifier nvarchar nvarchar nvarchar nvarchar datetime tinyint nvarchar uniqueidentifier nvarchar 16 128 128 128 64 8 1 256 16 64 3 Type Length Precision CHAR VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 DATE NUMBER VARCHAR2 CHAR VARCHAR2 38 128 128 128 64 7 22 256 38 64 3 Req’d? Yes No No No No No No No No No WICON_ASSETTYPE Column Name ASSETTYPEID NAME SQL Server Type Length Precision uniqueidentifier nvarchar 16 50 Oracle Type Length Precision CHAR VARCHAR2 38 50 Req’d? Yes Yes WICON_CLOB (ORACLE-ONLY TABLE) Column Name CLOBID CLOB April, 2006 SQL Server Type Length Precision Oracle Type CHAR LONG Length Precision 38 Req’d? Yes No Reference Guide 67 6 W I N I N S TA L L D A T A B A S E TA B L E S Console Tables WICON_INVAPPFILE Column Name INVAPPFILEID MACHINEID APPNAME APPTYPE FILESTATUS FILENAME APPLICATIONID1 APPLICATIONID2 SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier nvarchar smallint nchar nvarchar nvarchar nvarchar 16 16 512 2 1 512 512 512 5 Type Length Precision CHAR CHAR VARCHAR2 NUMBER CHAR VARCHAR2 VARCHAR2 VARCHAR2 38 38 512 22 1 512 512 512 38 Req’d? Yes Yes Yes Yes Yes Yes No No WICON_LI CENSE Column Name LICENSEKEY PRODUCTGUID LICENSECOUNT COST TERM STARTDATE REQUESTOR DEPARTMENT LICENSERESERVE 68 SQL Server Type nvarchar uniqueidentifier int nvarchar int datetime nvarchar nvarchar int Oracle Length Precision 128 16 4 64 4 8 128 128 4 10 10 10 WinINSTALL Desktop Management Suite and Desktop Availability Suite Type VARCHAR2 CHAR NUMBER VARCHAR2 NUMBER DATE VARCHAR2 VARCHAR2 NUMBER Length Precision 128 38 22 64 22 7 128 128 22 38 38 10 Req’d? Yes No No No No No No No No Console Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S WICON_LOG Column Name LOGID MACHINEID EVENTSEVERITY EVENTDATE EVENTSOURCE EVENTCODE CATEGORY DESCRIPTION EVENTUSER OBJECTID SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier smallint datetime nvarchar smallint smallint nvarchar nvarchar uniqueidentifier 16 16 2 8 50 2 2 500 50 16 5 5 5 Type Length Precision CHAR CHAR NUMBER DATE VARCHAR2 NUMBER NUMBER VARCHAR2 VARCHAR2 CHAR 38 38 22 7 50 22 22 500 50 38 38 38 38 Req’d? Yes Yes Yes Yes Yes Yes Yes No No No WICON_LOGDATA Column Name LOGDATAID LOGID NAME VALUE MACHINEID SQL Server Type Length Precision uniqueidentifier uniqueidentifier nvarchar nvarchar uniqueidentifier 16 16 255 255 16 Oracle Type Length Precision CHAR CHAR VARCHAR2 VARCHAR2 CHAR 38 38 255 255 38 Req’d? Yes Yes No No No WICON_MACHINEGROUPS Column Name GROUPID NAME April, 2006 SQL Server Type uniqueidentifier nvarchar Length Precision 16 255 Oracle Type CHAR NVARCHAR2 Length Precision 38 255 Req’d? Yes Yes Reference Guide 69 6 Column Name TYPE UPDATED W I N I N S TA L L D A T A B A S E TA B L E S Console Tables SQL Server Type Oracle Length Precision tinyint datetime 1 8 3 Type Length Precision NUMBER DATE 22 7 Req’d? 2 Yes No WICON_MACHINEPATHS Column Name SQL Server Type MACHINEPATHID uniqueidentifier MACHINEID uniqueidentifier PATH nvarchar TYPE tinyint PATH_INDEX tinyint PUBLISH tinyint MERGE tinyint NS_INHERIT tinyint NS_USE_SUBNET tinyint NS_SKIP_OFF_SUBNET tinyint NS_SUBNET_MASK nchar NS_PING_SIZE smallint NS_AGENT_PING_SIZE smallint NS_PING_THRESHOLD smallint NS_PING_TYPE tinyint NS_PING_COUNT tinyint NS_AGENT_PING_COUNT smallint NS_PING_TIMEOUT smallint NEAREST_SERVER tinyint OWNERSHIP tinyint 70 Oracle Length Precision 16 16 255 1 1 1 1 1 1 1 15 2 2 2 1 1 2 2 1 1 WinINSTALL Desktop Management Suite and Desktop Availability Suite 3 3 3 3 3 3 3 5 5 5 3 3 5 5 3 3 Type CHAR CHAR VARCHAR2 NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER CHAR NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER Length Precision 38 38 255 22 22 22 22 22 22 22 15 22 22 22 22 22 22 22 22 22 38 1 1 1 1 1 1 5 5 5 1 3 3 4 1 1 Req’d? Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No Console Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S WICON_MACHINES Column Name MACHINEID SERVERID NAME MACHINEGROUP SOURCE ROLE AGENTDEPLOYED IPADDRESS UPDATED DEPARTMENT DNSDOMAIN SHORTNAME WAKETIME SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier nvarchar nvarchar smallint smallint tinyint int datetime nvarchar nvarchar nvarchar datetime 16 16 255 255 2 2 1 4 8 64 255 50 8 5 5 3 10 Type Length Precision CHAR CHAR VARCHAR2 VARCHAR2 NUMBER NUMBER NUMBER NUMBER DATE VARCHAR2 VARCHAR2 VARCHAR2 DATE 38 38 255 255 22 22 22 22 7 64 255 50 7 38 38 38 38 Req’d? Yes Yes Yes Yes Yes Yes Yes No Yes No No Yes No WICON_SEARCHCONDI TI ONS Column Name SQL Server Type SEARCHCONDITIONID uniqueidentifier SEARCHID uniqueidentifier FIELD int OPERATOR smallint OPERAND1 nvarchar OPERAND2 nvarchar April, 2006 Oracle Length Precision 16 16 4 2 255 255 10 5 Type CHAR CHAR NUMBER NUMBER VARCHAR2 VARCHAR2 Length Precision 38 38 22 22 255 255 38 38 Req’d? Yes Yes Yes Yes No No Reference Guide 71 6 W I N I N S TA L L D A T A B A S E TA B L E S Console Tables WICON_SEARCHES SQL Server Column Name SEARCHID NAME Type Oracle Length Precision uniqueidentifier nvarchar 16 255 Type Length Precision CHAR VARCHAR2 38 255 Req’d? Yes Yes WICON_SECACC SQL Server Column Name WISECACCID ROLETYPE DACL Type Oracle Length Precision uniqueidentifier smallint ntext 16 2 16 Type CHAR NUMBER LONG 5 Length Precision 38 22 Req’d? Yes Yes No 38 WICON_SERVERSETTINGS Column Name MACHINEID NEAREST_SERVER NS_SUBNET_MASK NS_PING_SIZE NS_AGENT_PING_SIZE NS_REFRESH_INTERVAL NS_PING_THRESHOLD NS_USE_SUBNET NS_SKIP_OFF_SUBNET NS_PING_TYPE NS_PING_COUNT 72 SQL Server Type uniqueidentifier tinyint nchar smallint smallint bigint smallint tinyint tinyint tinyint tinyint Oracle Length Precision 16 1 15 2 2 8 2 1 1 1 1 WinINSTALL Desktop Management Suite and Desktop Availability Suite 3 5 5 19 5 3 3 3 3 Type CHAR NUMBER CHAR NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER Length Precision 38 22 15 22 22 22 22 22 22 22 22 1 5 5 14 5 1 1 1 3 Req’d? Yes No No No No No No No No No No Client Reset Tables SQL Server Column Name Type NS_AGENT_PING_COUNT NS_PING_TIMEOUT Oracle Length Precision smallint smallint 2 2 5 5 Type Length Precision NUMBER NUMBER 22 22 ..... W I N I N S TA L L D A T A B A S E TA B L E S Req’d? 3 4 No No .................................................... CLIENT RESET TABLES WICR_FILES Column Name SQL Server Type Oracle Length Precision FILEID uniqueidentifier FILENAME nvarchar GROUPTYPE tinyint COPYTYPE tinyint SERVERTYPE tinyint ISLANGUAGEDEPENDENT bit SHARERELPATH nvarchar FLOPPYRELPATH nvarchar 16 16 1 1 1 1 64 16 3 3 3 1 Type Length Precision CHAR VARCHAR2 NUMBER NUMBER NUMBER CHAR VARCHAR2 VARCHAR2 38 16 22 22 22 1 64 16 3 3 3 Req’d? Yes Yes Yes Yes Yes Yes No No WICR_LOOKUPMSDOSNICDRI VERS Column Name LOOKUPMSDOSNICDRIVERID TEMPLATEID MSDOSNICDRIVERID April, 2006 SQL Server Type Length Precision Oracle Type Length Precision Req’d? uniqueidentifier 16 CHAR 38 Yes uniqueidentifier uniqueidentifier 16 16 CHAR CHAR 38 38 Yes Yes Reference Guide 73 6 W I N I N S TA L L D A T A B A S E TA B L E S Client Reset Tables WICR_MSDOSADDI TI ONALFILES SQL Server Column Name MSDOSADDITIONALFILEID TEMPLATEID FILENAME Type Oracle Length Precision Type Length Precision Req’d? uniqueidentifier 16 CHAR 38 Yes uniqueidentifier nvarchar 16 16 CHAR VARCHAR2 38 16 Yes Yes WICR_MSDOSNI CDRIVERS SQL Server Column Name MSDOSNICDRIVERID FILENAME ISNETWARE DESCRIPTION VENDORID DEVICEID Type Oracle Length Precision uniqueidentifier nvarchar bit nvarchar smallint smallint 16 16 1 64 2 2 1 5 5 Type Length Precision CHAR VARCHAR2 CHAR VARCHAR2 NUMBER NUMBER 38 16 1 64 22 22 5 5 Req’d? Yes Yes Yes Yes No No WICR_OSLICENSEKEYS Column Name OSLICENSEKEYID LANGUAGE OPERATINGSYSTEM LICENSE 74 SQL Server Type uniqueidentifier nvarchar tinyint nvarchar Oracle Length Precision 16 32 1 32 3 WinINSTALL Desktop Management Suite and Desktop Availability Suite Type CHAR VARCHAR2 NUMBER VARCHAR2 Length Precision 38 32 22 32 3 Req’d? Yes Yes Yes Yes Client Reset Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S WICR_SHARES Column Name SHAREID DESCRIPTION MACHINE SHARE SERVERTYPE CONNECTTYPE JOINTYPE JOINNAME LOGON TIMESTAMP SQL Server Type Oracle Length Precision uniqueidentifier nvarchar nvarchar nvarchar tinyint tinyint tinyint nvarchar varchar datetime 16 64 68 16 1 1 1 64 150 8 3 3 3 Type Length Precision CHAR VARCHAR2 VARCHAR2 VARCHAR2 NUMBER NUMBER NUMBER VARCHAR2 VARCHAR2 DATE 38 64 68 16 22 22 22 64 150 7 3 3 3 Req’d? Yes Yes Yes Yes Yes Yes No No No No WICR_TEM PLATES Column Name SQL Server Type TEMPLATEID uniqueidentifier DESCRIPTION nvarchar METHOD tinyint OPERATINGSYSTEM tinyint LANGUAGE nvarchar LNGFILE nvarchar ADDITIONALAUnvarchar TOEXEC ADDITIONALCONFIGnvarchar SYS LOGFILELEVEL tinyint PARTITIONPERMITtinyint TED FORMATPERMITTED tinyint April, 2006 Oracle Length Precision 16 64 1 1 32 16 1000 3 3 1000 Type Length Precision CHAR VARCHAR2 NUMBER NUMBER VARCHAR2 VARCHAR2 VARCHAR2 38 64 22 22 32 16 1000 VARCHAR2 1000 3 3 Req’d? Yes Yes Yes Yes Yes No No No 1 1 3 3 NUMBER NUMBER 22 22 3 3 Yes Yes 1 3 NUMBER 22 3 Yes Reference Guide 75 6 Column Name FILESYSTEMTYPE VOLUMELABEL OSTARGETDIR ISNETCARDDETECTENABLED NETCARDINFFILE NETCARDOPTION ISRESETPARTITIONENABLED ISNWLNKIPXENABLED ISNETBEUIENABLED ISTCPIPENABLED ISDHCPENABLED IPADDRESS SUBNETMASK WINSPRIMARY WINSSECONDARY DNSNAME DNSSERVER WIPACKAGEPATH ISMSCLIENTENABLED ISNWCLIENTENABLED JOINTYPE JOINNAME LOGONDOMAIN PRIMARYLOGONTYPE PREFERREDSERVER FIRSTNETDRIVE ISPROCESSLOGINSCRIPTENABLED NTSERVERLICENSEOPTION 76 W I N I N S TA L L D A T A B A S E TA B L E S Client Reset Tables SQL Server Type Oracle Length Precision tinyint nvarchar nvarchar bit 1 16 16 1 nvarchar nvarchar bit 3 Type Length Precision 1 NUMBER VARCHAR2 VARCHAR2 CHAR 22 16 16 1 16 32 1 1 VARCHAR2 VARCHAR2 CHAR 16 32 1 No No Yes bit 1 1 CHAR 1 No bit bit bit int int int int nvarchar int nvarchar bit bit 1 1 1 4 4 4 4 68 4 260 1 1 1 1 1 10 10 10 10 CHAR CHAR CHAR NUMBER NUMBER NUMBER NUMBER VARCHAR2 NUMBER VARCHAR2 CHAR CHAR 1 1 1 22 22 22 22 68 22 260 1 1 No No No No No No No No No No No No tinyint nvarchar nvarchar tinyint nvarchar nchar bit 1 16 16 1 16 1 1 3 3 22 16 16 22 16 1 1 3 1 NUMBER VARCHAR2 VARCHAR2 NUMBER VARCHAR2 CHAR CHAR No No No No No No No tinyint 1 3 NUMBER 22 3 No 10 1 1 WinINSTALL Desktop Management Suite and Desktop Availability Suite 3 Req’d? 10 10 10 10 10 3 Yes No No No Client Reset Tables Column Name CONCURRENTCONNECTIONS ISINSTALLIISENABLED COMPANYNAME TIMEZONE ISSERVICEPACKENABLED SERVICEPACK ADMINLOGON OSINSTALLERPATH OSIMAGEPATH OSCMDLINE TIMESTAMP WINSTALLPATH EXTENDPARTITION USERNAME POSTINSTALLTYPE WICUSTOMPATH WICUSTOMPARAMS WICUSTOMLOGON ISSTARTMENUENABLED ISDEPLOYENABLED DEPLOYLOGON April, 2006 SQL Server Type Oracle Length Precision Type Length Precision Req’d? smallint 2 5 NUMBER 22 bit 1 1 CHAR 1 No nvarchar nvarchar bit 64 64 1 1 VARCHAR2 VARCHAR2 CHAR 64 64 1 No No No nvarchar varchar nvarchar nvarchar nvarchar datetime nvarchar int nvarchar tinyint nvarchar nvarchar varchar bit 16 150 16 16 256 8 260 4 20 1 260 80 150 1 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 DATE VARCHAR2 NUMBER VARCHAR2 NUMBER VARCHAR2 VARCHAR2 VARCHAR2 CHAR 16 150 16 16 256 7 260 22 20 22 260 80 150 1 No No No No No No Yes No No No No No No No bit varchar 1 150 CHAR VARCHAR2 1 150 10 3 1 1 5 ..... W I N I N S TA L L D A T A B A S E TA B L E S 10 3 No No No Reference Guide 77 6 W I N I N S TA L L D A T A B A S E TA B L E S Inventory Tables .................................................... INVENTORY TABLES WIINV_ARPAPPS Column Name MACHINEID PRODUCTGUID PRODUCTNAME PRODUCTVER INSTALLDATE INSTALLPATH LASTUSED FREQUENCY SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier nvarchar nvarchar nvarchar nvarchar datetime int 16 16 128 50 50 255 8 4 10 Type Length Precision CHAR CHAR VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 DATE NUMBER 38 38 128 50 50 255 7 22 38 Req’d? Yes Yes Yes No No No No No WIINV_CHANGELOG Column Name CHANGELOGID MACHINEID OBJECTTYPE OBJECTID OBJECTSUBID FIELD OLDVALUE TIMESTAMP 78 SQL Server Type uniqueidentifier uniqueidentifier smallint nvarchar nvarchar smallint nvarchar datetime Oracle Length Precision 16 16 2 255 255 2 255 8 5 5 WinINSTALL Desktop Management Suite and Desktop Availability Suite Type CHAR CHAR NUMBER VARCHAR2 VARCHAR2 NUMBER VARCHAR2 DATE Length Precision 38 38 22 255 255 22 255 7 38 38 Req’d? Yes Yes Yes No No Yes No No Inventory Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S WIINV_DETECTEDFI LEEXT SQL Server Column Name MACHINEID FILEGUID PRODUCTNAME PRODUCTVERSION MANUFACTURERNAME FILEVERSION FILEDESCRIPTION Type Oracle Length Precision Type Length Precision Req’d? uniqueidentifier uniqueidentifier nvarchar nvarchar nvarchar 16 16 128 64 128 CHAR CHAR VARCHAR2 VARCHAR2 VARCHAR2 38 38 128 64 128 Yes Yes No No No nvarchar nvarchar 64 256 VARCHAR2 VARCHAR2 64 256 No No WIINV_DETECTEDFI LES Column Name MACHINEID FILENAME PATH FILEGUID CREATIONDATE MODIFICATIONDATE FILESIZE REGISTRYASSOCIATION April, 2006 SQL Server Type uniqueidentifier nvarchar nvarchar uniqueidentifier datetime datetime bigint nvarchar Oracle Length Precision 16 128 300 16 8 8 8 64 19 Type CHAR VARCHAR2 VARCHAR2 CHAR DATE DATE NUMBER VARCHAR2 Length Precision 38 128 300 38 7 7 22 64 38 Req’d? Yes Yes Yes No No No Yes No Reference Guide 79 6 W I N I N S TA L L D A T A B A S E TA B L E S Inventory Tables WIINV_DEVI CES Column Name DEVICEID MACHINEID DEVICENAME DRIVERDATE DEVICETYPE DRIVERVERSION DEVICESTATUS DRIVERPRODUCER DRIVERFILE SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier nvarchar nvarchar nvarchar nvarchar smallint nvarchar nvarchar 16 16 128 50 128 50 2 128 255 5 Type Length Precision CHAR CHAR VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 NUMBER VARCHAR2 VARCHAR2 38 38 128 50 128 50 22 128 255 38 Req’d? Yes Yes Yes No No No No No No WIINV_LOCALLOGICALDRIVE Column Name MACHINEID DRIVELETTER TOTALSPACE FREESPACE SQL Server Type Oracle Length Precision uniqueidentifier nchar bigint bigint 16 1 8 8 19 19 Type Length Precision CHAR CHAR NUMBER NUMBER 38 1 22 22 38 38 Req’d? Yes Yes Yes Yes WIINV_MACHI NEHW Column Name MACHINEID CPUMODEL CPUVENDOR CPUSPEED 80 SQL Server Type uniqueidentifier nvarchar nvarchar nvarchar Length Precision 16 128 128 50 WinINSTALL Desktop Management Suite and Desktop Availability Suite Oracle Type CHAR VARCHAR2 VARCHAR2 VARCHAR2 Length Precision 38 128 128 50 Req’d? Yes No No No Inventory Tables Column Name BIOSVERSION BIOSDATE NUMPROCESSORS MAXPAGEFILESIZE TOTALRAM SYSTEMMANUFACTURER SYSTEMMODEL MONITORMANUFACTURER MONITORMODEL MACADDRESS TIMEZONE SERIALNUMBER IPADDRESS IPSUBNET MAXRAMSIZE NUMRAMSLOTS CHASSISTYPES SQL Server Type Oracle Length Precision nvarchar nvarchar smallint bigint bigint nvarchar 128 50 2 8 8 128 nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar bigint int nvarchar Type Length Precision ..... W I N I N S TA L L D A T A B A S E TA B L E S Req’d? VARCHAR2 VARCHAR2 NUMBER NUMBER NUMBER VARCHAR2 128 50 22 22 22 128 128 128 VARCHAR2 VARCHAR2 128 128 No No 128 128 128 128 128 128 8 4 50 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 NUMBER NUMBER VARCHAR2 128 128 128 128 128 128 22 22 50 No No No No No No No No No 5 19 19 19 10 38 38 38 38 38 No No No No No No WIINV_NTSERVICES Column Name MACHINEID NAME DISPNAME CURSTATE STARTTYPE April, 2006 SQL Server Type uniqueidentifier nvarchar nvarchar smallint smallint Oracle Length Precision 16 128 128 2 2 5 5 Type CHAR VARCHAR2 VARCHAR2 NUMBER NUMBER Length Precision 38 128 128 22 22 38 38 Req’d? Yes Yes No No No Reference Guide 81 6 W I N I N S TA L L D A T A B A S E TA B L E S Inventory Tables WIINV_OSINFO Column Name MACHINEID PRODUCTNAME VERSION BUILDNUMBER SERVICEPACK PLUSVER WINPLATFORM INVDATETIME SQL Server Type Oracle Length Precision uniqueidentifier nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar datetime 16 128 128 50 50 50 50 8 Type Length Precision CHAR VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 DATE 38 128 128 50 50 50 50 7 Req’d? Yes Yes No No No No No No WIINV_PRINTER Column Name MACHINEID DEVICEID NAME ISDEFAULT DRIVERNAME PORTNAME PRINTERSTATUS PRINTPROCESSOR SERVERNAME SHARENAME NETWORK PRIORITY AVAILABILITY LOCATION DESCRIPTION 82 SQL Server Type uniqueidentifier nvarchar nvarchar smallint nvarchar nvarchar smallint nvarchar nvarchar nvarchar smallint int smallint nvarchar nvarchar Oracle Length Precision 16 256 256 2 128 128 2 128 128 128 2 4 2 128 128 5 5 5 10 5 WinINSTALL Desktop Management Suite and Desktop Availability Suite Type CHAR VARCHAR2 VARCHAR2 NUMBER VARCHAR2 VARCHAR2 NUMBER VARCHAR2 VARCHAR2 VARCHAR2 NUMBER NUMBER NUMBER VARCHAR2 VARCHAR2 Length Precision 38 256 256 22 128 128 22 128 128 128 22 22 22 128 128 38 38 38 38 38 Req’d? Yes Yes No No No No No No No No No No No No No Inventory Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S WIINV_RAMSLOT SQL Server Column Name MACHINEID TAG CAPACITY DEVICELOCATOR MEMORYTYPE TYPEDETAIL POSITIONINROW Type Oracle Length Precision uniqueidentifier nvarchar bigint nvarchar int int int 16 128 8 128 4 4 4 19 10 10 10 Type Length Precision CHAR VARCHAR2 NUMBER VARCHAR2 NUMBER NUMBER NUMBER 38 128 22 128 22 22 22 38 38 38 38 Req’d? Yes Yes No No No No No WIINV_REGISTEREDMSI Column Name MACHINEID PRODUCTGUID FEATUREID PRODUCTNAME PRODUCTVER PRODUCTSTATE INSTALLDATE PKGPATHNAME FEATURESTATE FEATUREACCESSES FEATURELASTUSE FEATURENAME April, 2006 SQL Server Type uniqueidentifier uniqueidentifier nvarchar nvarchar nvarchar smallint nvarchar nvarchar smallint int datetime nvarchar Oracle Length Precision 16 16 128 128 50 2 50 255 2 4 8 128 5 5 10 Type CHAR CHAR VARCHAR2 VARCHAR2 VARCHAR2 NUMBER VARCHAR2 VARCHAR2 NUMBER NUMBER DATE VARCHAR2 Length Precision 38 38 128 128 50 22 50 255 22 22 7 128 38 38 38 Req’d? Yes Yes Yes No No No No No No No No No Reference Guide 83 6 W I N I N S TA L L D A T A B A S E TA B L E S Migration Tables WIINV_REGISTEREDNAI Column Name MACHINEID NAIFILE PKGNAME LSTFILE INSTALLTIME PACKAGEID SQL Server Type Oracle Length Precision uniqueidentifier nvarchar nvarchar nvarchar nvarchar uniqueidentifier 16 255 128 255 50 16 Type Length Precision CHAR VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 CHAR 38 255 128 255 50 38 Req’d? Yes Yes Yes No No No WIINV_WINUPDATE Column Name MACHINEID UPDATEID PRODUCTNAME DESCRIPTION ISINSTALLED INSTALLEDBY INSTALLEDDATE SQL Server Type Oracle Length Precision uniqueidentifier nvarchar nvarchar nvarchar smallint nvarchar datetime 16 64 128 128 2 128 8 5 Type Length Precision CHAR VARCHAR2 VARCHAR2 VARCHAR2 NUMBER VARCHAR2 DATE 38 64 128 128 22 128 7 38 Req’d? Yes Yes Yes No No No No .................................................... MIGRATION TABLES WIMIG_JOBS Column Name JOBID TASKID 84 SQL Server Type uniqueidentifier uniqueidentifier Length Precision 16 16 WinINSTALL Desktop Management Suite and Desktop Availability Suite Oracle Type CHAR CHAR Length Precision 38 38 Req’d? Yes Yes Migration Tables Column Name SQL Server Type Oracle Length Precision SOURCEMACHINEID uniqueidentifier SOURCESERVERID uniqueidentifier DESTINATIONMACHI- uniqueidentifier NEID PERSONALITYPATH nvarchar RESULT bigint MESSAGE nvarchar STARTDATE datetime ENDDATE datetime SHAREPATH nvarchar ELIGIBLEUSERCOUNT int 16 16 16 260 8 500 8 8 260 4 19 10 Type Length Precision CHAR CHAR CHAR 38 38 38 VARCHAR2 NUMBER VARCHAR2 DATE DATE VARCHAR2 NUMBER 260 22 500 7 7 260 22 ..... W I N I N S TA L L D A T A B A S E TA B L E S Req’d? No No No 10 6 No No No Yes No No No WIMIG_SKIPPEDCONTENTNODES Column Name TASKID CONTENTNODEID SQL Server Type Oracle Length Precision uniqueidentifier nvarchar 16 50 Type Length Precision CHAR VARCHAR2 38 50 Req’d? Yes Yes WIMIG_TASKS Column Name TASKID TYPE NAME DESCRIPTION TEMPLATEPATH OVERWRITEMODE April, 2006 SQL Server Type uniqueidentifier int nvarchar nvarchar nvarchar int Oracle Length Precision 16 4 100 255 260 4 10 10 Type CHAR NUMBER VARCHAR2 VARCHAR2 VARCHAR2 NUMBER Length Precision 38 22 100 255 260 22 10 10 Req’d? Yes Yes Yes No No Yes Reference Guide 85 6 Column Name NEWACCOUNTSGETADMINRIGHTS AUTODELETE SCHEDULEDJOBID SOURCEJOBID RESETOPTION CREATEINJECTIONLOG W I N I N S TA L L D A T A B A S E TA B L E S Migration Tables SQL Server Type Oracle Length Precision Type Length Precision Req’d? bit 1 1 CHAR 1 Yes bit uniqueidentifier uniqueidentifier int bit 1 16 16 4 1 1 CHAR CHAR CHAR NUMBER CHAR 1 38 38 22 1 Yes No No Yes Yes 10 1 9 WIMIG_USERS Column Name USERID TASKID SOURCEUSER SOURCEDOMAIN DESTINATIONUSER DESTINATIONDOMAIN SOURCETYPE DESTINATIONTYPE 86 SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier nvarchar nvarchar nvarchar nvarchar 16 16 100 100 100 100 int int 4 4 10 10 WinINSTALL Desktop Management Suite and Desktop Availability Suite Type Length Precision CHAR CHAR VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 38 38 100 100 100 100 NUMBER NUMBER 22 22 Req’d? Yes Yes No No No No 6 6 No No PXE Client Reset Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S .................................................... PXE CLIENT RESET TABLES WIPXECR_CLIENTS Column Name CLIENTID TEMPLATEID MACHINEID UUID MAC RESETCMD RESETSTATUS RESETLOG TIMESTAMP SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier uniqueidentifier uniqueidentifier binary tinyint tinyint image datetime 16 16 16 16 6 1 1 16 8 3 3 Type Length Precision CHAR CHAR CHAR CHAR RAW NUMBER NUMBER LONG RAW DATE 38 38 38 38 6 22 22 3 3 7 Req’d? Yes Yes No No No No No No No WIPXECR_CLIENTLICENSES Column Name CLIENTLICENSEID CLIENTID LICENSEKEYID SQL Server Type Length Precision uniqueidentifier uniqueidentifier uniqueidentifier 16 16 16 Oracle Type Length Precision CHAR CHAR CHAR 38 38 38 Req’d? Yes Yes Yes WIPXECR_DRIVERS Column Name DRIVERID DESCRIPTION April, 2006 SQL Server Type uniqueidentifier nvarchar Length Precision 16 64 Oracle Type CHAR VARCHAR2 Length Precision 38 64 Req’d? Yes Yes Reference Guide 87 6 Column Name TYPE NUMBER FILENAME OSES LANGUAGES W I N I N S TA L L D A T A B A S E TA B L E S PXE Client Reset Tables SQL Server Type Oracle Length Precision tinyint smallint nvarchar varbinary varbinary 1 2 64 11 30 3 5 Type Length Precision NUMBER NUMBER VARCHAR2 RAW RAW Req’d? 3 5 12 11 30 Yes Yes Yes Yes Yes WIPXECR_LICENSEKEYS Column Name LICENSEKEYID OS LANGUAGE LICENSE MAXCOUNT CURRENTCOUNT SQL Server Type Oracle Length Precision uniqueidentifier tinyint smallint nvarchar smallint smallint 16 1 2 29 2 2 Type CHAR NUMBER NUMBER VARCHAR2 NUMBER NUMBER 3 5 5 5 Length Precision Req’d? 38 3 5 29 5 5 Yes Yes Yes Yes No No WIPXECR_OPERATINGSYSTEMS Column Name OPERATINGSYSTEMID OS LANGUAGE SP 88 SQL Server Type uniqueidentifier tinyint smallint tinyint Oracle Length Precision 16 1 2 1 3 5 3 WinINSTALL Desktop Management Suite and Desktop Availability Suite Type CHAR NUMBER NUMBER NUMBER Length Precision 38 3 5 3 Req’d? Yes Yes No No PXE Client Reset Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S WIPXECR_SERVERS SQL Server Column Name SERVERID MACHINEID ACCOUNT PASSWORD DEFAULTTEMPLATEID AUTOREGISTER ACTIVE NBPSCHEDWAIT NBPUNSCHEDWAIT NBPCONTINUEWAIT Type Oracle Length Precision uniqueidentifier uniqueidentifier nvarchar varbinary uniqueidentifier bit bit smallint smallint smallint 16 16 93 254 16 29 2 2 2 2 5 5 5 5 Type Length Precision CHAR CHAR VARCHAR2 RAW CHAR CHAR CHAR NUMBER NUMBER NUMBER 38 38 93 254 38 1 1 5 5 5 Req’d? Yes Yes Yes No No No Yes No No No WIPXECR_TEMPLATES Column Name TEMPLATEID DESCRIPTION LOGLEVEL OS LANGUAGE FULLUSERNAME ORGANIZATION REPARTITION VOLUMELABEL OSTARGETDIR DNSDOMAIN DNS WINS JOINTYPE April, 2006 SQL Server Type uniqueidentifier nvarchar tinyint tinyint smallint nvarchar nvarchar bit nvarchar nvarchar nvarchar nvarchar varbinary tinyint Oracle Length Precision 16 64 1 1 2 64 64 2 32 16 64 80 80 1 3 3 5 5 3 Type CHAR VARCHAR2 NUMBER NUMBER NUMBER VARCHAR2 VARCHAR2 CHAR VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 RAW NUMBER Length Precision 38 64 3 3 5 64 64 1 32 16 64 80 80 3 Req’d? Yes Yes No Yes Yes No Yes Yes No No No No No No Reference Guide 89 6 Column Name JOINNAME JOINACCOUNT JOINPASSWORD ORGUNIT NWCLIENT NWPREFERREDSERVER NWPROCESSLOGINSCRIPT SERVERAUTOMODE SERVERAUTOUSERS IIS TERMSERV VRESOLUTION VCOLOR VREFRESH FIREWALL LOCALADMINPASSWORD DEPLOYAGENT AGENTROLE AGENTACCOUNT AGENTPASSWORD RESTOREAPPS TIMESTAMP W I N I N S TA L L D A T A B A S E TA B L E S PXE Client Reset Tables SQL Server Type Oracle Length Precision nvarchar nvarchar varbinary nvarchar bit nvarchar bit 64 93 254 256 2 64 2 tinyint smallint bit bit tinyint tinyint tinyint bit varbinary 1 2 2 2 1 1 1 2 254 bit tinyint nvarchar varbinary bit datetime 2 1 93 254 2 8 Type Length Precision Req’d? VARCHAR2 VARCHAR2 RAW VARCHAR2 CHAR VARCHAR2 CHAR 64 93 254 256 1 64 1 No No No No No No No 3 5 5 5 3 3 3 5 NUMBER NUMBER CHAR CHAR NUMBER NUMBER NUMBER CHAR RAW 3 5 1 1 3 3 3 1 254 No No No No No No No No No 5 3 CHAR NUMBER VARCHAR2 RAW CHAR DATE 1 3 93 254 1 7 No No No No No No 5 5 5 WIPXECR_TEMPLATEACCOUNTS Column Name SQL Server Type TEMPLATEACCOUNTID uniqueidentifier TEMPLATEID uniqueidentifier ACCOUNT nvarchar 90 Length Precision 16 16 93 WinINSTALL Desktop Management Suite and Desktop Availability Suite Oracle Type CHAR CHAR VARCHAR2 Length Precision 38 38 93 Req’d? Yes Yes Yes PXE Client Reset Tables Column Name LOCALGROUP PASSWORD LOCALTYPE SQL Server Type Oracle Length Precision nvarchar varbinary bit 93 254 1 1 Type Length Precision VARCHAR2 RAW CHAR 93 254 1 ..... W I N I N S TA L L D A T A B A S E TA B L E S Req’d? Yes No No WIPXECR_TEMPLATEFIREWALLEXCLS Column Name TEMPLATEFIREWALLEXCLID TEMPLATEID TYPE EXCLUSION SQL Server Type Oracle Length Precision Type Length Precision Req’d? uniqueidentifier 16 CHAR 38 Yes uniqueidentifier tinyint varbinary 16 1 512 CHAR NUMBER RAW 38 3 512 Yes No No 3 WIPXECR_TEMPLATEPACKAGES Column Name SQL Server Type TEMPLATEPACKAGEID uniqueidentifier TEMPLATEID uniqueidentifier RELPATH nvarchar SEQUENCE smallint April, 2006 Oracle Length Precision 16 16 256 2 5 Type CHAR CHAR VARCHAR2 NUMBER Length Precision 38 38 256 5 Req’d? Yes Yes Yes Yes Reference Guide 91 6 W I N I N S TA L L D A T A B A S E TA B L E S PXE Client Reset Tables WIPXECR_TEMPLATEUTILI TI ES Column Name TEMPLATEUTILITYID TEMPLATEID UTILITYID SEQUENCE SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier uniqueidentifier smallint 16 16 16 2 5 Type Length Precision CHAR CHAR CHAR NUMBER 38 38 38 5 Req’d? Yes Yes Yes Yes WIPXECR_UTILITIES Column Name UTILITYID DESCRIPTION NUMBER FILENAME PARAMETERS SQL Server Type Oracle Length Precision uniqueidentifier nvarchar smallint nvarchar nvarchar 16 64 2 256 256 5 Type Length Precision CHAR VARCHAR2 NUMBER VARCHAR2 VARCHAR2 38 64 5 256 256 Req’d? Yes Yes Yes Yes No WIPXECR_UTILITYSUPPORTFI LES Column Name UTILITYSUPPORTFILEID UTILITYID FILENAME 92 SQL Server Type Length Precision Oracle Type Length Precision Req’d? uniqueidentifier 16 CHAR 38 Yes uniqueidentifier nvarchar 16 256 CHAR VARCHAR2 38 256 Yes Yes WinINSTALL Desktop Management Suite and Desktop Availability Suite Replication Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S .................................................... REPLICATION TABLES WIREP_JOBS Column Name REPJOBID JOBID SOURCETYPE CREATED TRANSPORT OVERWRITE THROTTLE SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier tinyint datetime tinyint tinyint int 16 16 1 8 1 1 4 3 3 3 10 Type Length Precision CHAR CHAR NUMBER DATE NUMBER NUMBER NUMBER 38 38 22 7 22 22 22 3 3 3 10 Req’d? Yes Yes Yes Yes Yes Yes Yes WIREP_JOBSTATUS Column Name JOBSTATUSID REPJOBID STARTTIME STATUSTIME STATUS PROGRESS SOURCETYPE TRANSPORT OVERWRITE DETAIL THROTTLE April, 2006 SQL Server Type uniqueidentifier uniqueidentifier datetime datetime tinyint tinyint tinyint tinyint tinyint image int Oracle Length Precision 16 16 8 8 1 1 1 1 1 16 4 3 3 3 3 3 10 Type CHAR CHAR DATE DATE NUMBER NUMBER NUMBER NUMBER NUMBER LONG RAW NUMBER Length Precision 38 38 7 7 22 22 22 22 22 3 3 3 3 3 22 10 Req’d? Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Reference Guide 93 6 W I N I N S TA L L D A T A B A S E TA B L E S Replication Tables WIREP_JOBSTATUSLOGS Column Name JOBSTATUSLOGID JOBSTATUSID LOGTYPE SOURCETYPE TIME SERVER CARGO PATH RESULT DETAIL SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier tinyint tinyint datetime nvarchar nvarchar nvarchar nvarchar image 16 16 1 1 8 255 256 260 32 16 3 3 Type Length Precision CHAR CHAR NUMBER NUMBER DATE VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 LONG RAW 38 38 22 22 7 255 256 260 32 3 3 Req’d? Yes Yes Yes Yes Yes Yes Yes Yes Yes No WIREP_MI GRATI ONSOURCES Column Name MIGRATIONSOURCEID REPJOBID MIGJOBID SQL Server Type Length Precision Oracle Type Length Precision Req’d? uniqueidentifier 16 CHAR 38 Yes uniqueidentifier uniqueidentifier 16 16 CHAR CHAR 38 38 Yes Yes WIREP_MI GRATI ONTARGETS Column Name MIGRATIONTARGETID 94 SQL Server Type uniqueidentifier Length Precision 16 WinINSTALL Desktop Management Suite and Desktop Availability Suite Oracle Type CHAR Length Precision 38 Req’d? Yes Replication Tables Column Name REPJOBID MACHINEID SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier 16 16 Type Length Precision CHAR CHAR 38 38 ..... W I N I N S TA L L D A T A B A S E TA B L E S Req’d? Yes Yes WIREP_PACKAGESOURCES Column Name PACKAGESOURCEID REPJOBID PATH PRESERVEFOLDERS SQL Server Type Oracle Length Precision uniqueidentifier uniqueidentifier nvarchar bit 16 16 260 1 1 Type Length Precision CHAR CHAR VARCHAR2 CHAR 38 38 260 1 Req’d? Yes Yes Yes Yes WIREP_PACKAGETARGETS Column Name PACKAGETARGETID REPJOBID MACHINEID PATH SQL Server Type Length Precision uniqueidentifier uniqueidentifier uniqueidentifier nvarchar 16 16 16 260 Oracle Type Length Precision CHAR CHAR CHAR VARCHAR2 38 38 38 260 Req’d? Yes Yes Yes No WIREP_PATCHSOURCES Column Name PATCHSOURCEID April, 2006 SQL Server Type uniqueidentifier Length Precision 16 Oracle Type CHAR Length Precision 38 Req’d? Yes Reference Guide 95 6 Column Name REPJOBID PATH W I N I N S TA L L D A T A B A S E TA B L E S Replication Tables SQL Server Type Length Precision uniqueidentifier nvarchar 16 260 Oracle Type Length Precision CHAR VARCHAR2 38 260 Req’d? Yes Yes WIREP_PATCHTARGETS Column Name PATCHTARGETID REPJOBID MACHINEID SQL Server Type Length Precision uniqueidentifier uniqueidentifier uniqueidentifier 16 16 16 Oracle Type CHAR CHAR CHAR Length Precision 38 38 38 Req’d? Yes Yes Yes WIREP_PXECRSOURCES Column Name PXECRSOURCEID REPJOBID SQL Server Type Length Precision uniqueidentifier uniqueidentifier 16 16 Oracle Type CHAR CHAR Length Precision 38 38 Req’d? Yes Yes WIREP_PXECRTARGETS Column Name PXECRTARGETID REPJOBID MACHINEID 96 SQL Server Type uniqueidentifier uniqueidentifier uniqueidentifier Length Precision 16 16 16 WinINSTALL Desktop Management Suite and Desktop Availability Suite Oracle Type CHAR CHAR CHAR Length Precision 38 38 38 Req’d? Yes Yes Yes Replication Tables ..... W I N I N S TA L L D A T A B A S E TA B L E S WIREP_TEMPLATESOURCES Column Name SQL Server Type Oracle Length Precision TEMPLATESOURCEID uniqueidentifier REPJOBID uniqueidentifier TEMPLATEID uniqueidentifier 16 16 16 Type CHAR CHAR CHAR Length Precision 38 38 38 Req’d? Yes Yes Yes WIREP_TEMPLATESREPLICATED Column Name TEMPLATEREPLICATEDID TEMPLATEID SHAREID STATUS STATUSTIME SQL Server Type Oracle Length Precision Type Length Precision Req’d? uniqueidentifier 16 CHAR 38 Yes uniqueidentifier uniqueidentifier tinyint datetime 16 16 1 8 CHAR CHAR NUMBER DATE 38 38 22 7 Yes Yes Yes Yes 3 3 WIREP_TEMPLATETARGETS Column Name TEMPLATETARGETID REPJOBID SHAREID MACHINEID April, 2006 SQL Server Type uniqueidentifier uniqueidentifier uniqueidentifier uniqueidentifier Length Precision 16 16 16 16 Oracle Type CHAR CHAR CHAR CHAR Length Precision 38 38 38 38 Req’d? Yes Yes No No Reference Guide 97 6 98 W I N I N S TA L L D A T A B A S E TA B L E S Replication Tables WinINSTALL Desktop Management Suite and Desktop Availability Suite Section 3 ..... ................................... A PPLICATIONS .................................................................... C HAPTER 7: W IN INSTALL V ARIABLES C HAPTER 8: C ONFLICT A SSESSMENT C ATEGORIES C HAPTER 9: MSI C USTOM A CTIONS April, 2006 Reference Guide 99 100 WinINSTALL Desktop Management Suite and Desktop Availability Suite 7 W IN INSTALL V ARIABLES ..... ................................... A variable is a value that can change. WinINSTALL includes two broad categories of variables: system-defined variables and user-defined variables. Using variables, you can customize packages for a particular environment or make them generic enough to run on almost any platform. .................................................... SYSTEM-DEFINED VARIABLES The following variables are defined by WinINSTALL and cannot be modified. WinINSTALL discovers them through API calls. Each system-defined variable has up to four instances - file name, short file name, file name in a registry file, and short file name in a registry file. Each instance can be selected or deselected when doing a scan for variables. SYSTEM -DEFI NED VARI ABLES FOR WININSTALL (NAI) PACKAGES: Variable Typical Value Description @AdminTools C:\Documents and Settings\<user>\Start Menu\ Programs\Administrative Tools @AppData C:\Documents and Settings\<user>\Application Data Location of the user’s application data (per-user, roaming). @CommonAppData C:\Documents and Settings\All Users\Application Data Location of the common application data (per machine, non-user specific & non- roaming). @CommonDesktop C:\Documents and Settings\All Users\Desktop Location of the common desktop icons (per machine, non-user specific & non- roaming). @CommonPrograms C:\Documents and Settings\All Users\Start Menu\Programs Location of the common programs (per machine, non-user specific & non- roaming). @CommonStartmenu C:\Documents and Settings\All Users\Start Menu Location of the common items on the Start menu (per machine, non-user specific & non- roaming). @CommonStartup C:\Documents and Settings\All Users\Start Menu\ Programs\Startup @Desktop C:\Documents and Settings\<user>\Desktop @Favorites C:\Documents and Settings\<user>\Favorites @Fonts C:\Windows\Fonts April, 2006 Reference Guide 101 7 102 W I N I N S TA L L VA R I A B L E S System-defined Variables @LocalAppData C:\Documents and Settings\<user>\Local Settings\Application Data @MyPictures C:\Documents and Settings\<user>\My Documents\My Pictures @NetHood C:\Documents and Settings\<user>\NetHood @PackageDir \\<WinINSTALL share>\Packages Location of the directory that holds the WinINSTALL and Windows Installer packages managed by WinINSTALL. @PatchDir \\<WinINSTALL share>\Patches Location of the directory that holds the Microsoft patches managed by WinINSTALL. @Personal C:\Documents and Settings\<user>\My Documents @PrintHood C:\Documents and Settings\<user>\PrintHood @ProgFiles C:\Program Files @Programs C:\Documents and Settings\<user>\Start Menu\ Programs @Recent C:\Documents and Settings\<user>\Recent @SendTo. C:\Documents and Settings\<user>\SendTo @Shared C:\Program Files\Common Files @ShellNew C:\Documents and Settings\<user>\Templates @SourceDir \\<WinINSTALL share>\Bin @StartMenu C:\Documents and Settings\<user>\Start Menu @Startup C:\Documents and Settings\<user>\Start Menu\ Programs\Startup @System C:\Windows\System32 @Sys16 C:\Windows\System @Temp C:\Documents and Settings\<user>\Local Settings\Temp @Windows C:\Windows @Winstalldir \\<WinINSTALL share>\Bin WinINSTALL Desktop Management Suite and Desktop Availability Suite Location of the user’s local application data (per user, non-roaming). Relative path that specifies the location of the source directory – the path is relative to the file in which the variable is located (i.e., the list file or package file). Location of the directory from which the WinINSTALL executables are currently being run. User-defined Variables @WinVol ..... W I N I N S TA L L VA R I A B L E S C: $NetAddr$ The hardware MAC address of the network card on the workstation that the distribution package will be run on. $UserName$ The Microsoft network user name of the currently logged-in user. $WksName$ The NETBIOS machine name of the workstation that the distribution package will be run on. SYSTEM -DEFI NED VARI ABLES FOR WINDOWS INSTALLER (MSI) PACKAGES: WI_Username • The login name of the user running the Console when the package was created. WI_Wksname • The name of the computer on which the package was created. .U. S. .E. R. .-.D. .E. F. .I N. .E. .D. .V. .A. R. .I .A. B. .L. E. .S. . . . . . . . . . . . . . . . . . . . . User-defined variables are of five types: Constant Values, Environment Variables, Global Prompts, Application Prompts, and URL Variables. The first three types can be set either at the package level or at the list level. Variables set at the list level are shared by all of the packages in the list unless they are specifically overridden--or the package is installed without reference to the list. Application and URL variables can be set only at the package level. CONSTANT VALUES This type of variable can be used for replacing a pre-set value for the variable name. Constants work rather like global search and replace. They let you tell the installers, “Wherever you see this constant in a package, replace it with the specified value.” ENVI RONMENT VARIABLES These are useful in situations where the user-specific information required for the installation of a package is located in the client machine's environment. GLOBAL PROMPTS Global Prompts are used to prompt users for a response. When the user responds to a prompt, the installer uses the provided information when the package references the variable. April, 2006 Reference Guide 103 7 W I N I N S TA L L VA R I A B L E S User-defined Variables APPLI CATION PROM PTS Like Global Prompts, Application Prompts are a means of asking users for a response, which is then substituted wherever the variable name is found. But unlike Global Prompts, Application Prompts are WinINSTALL-package-specific. When the user responds to a prompt, the installer uses the provided information when the package references the variable. URL VARIABLES This type of variable works rather like global search and replace. They let you instruct the installers, “Wherever you see the code @URL in a package, replace it with the specified web address.” 104 WinINSTALL Desktop Management Suite and Desktop Availability Suite 8 C ONFLICT A SSESSMENT C ATEGORIES ..... ................................... T he Conflict Assessment feature of WinINSTALL provides information on conflicts between and among packages and baselines. This chapter lists the categories of conflict, subcategories of conflict, and conflict messages presented by the Conflict Assessment feature. .................................................... MAIN CONFLICT CATEGORIES 2 • File conflict 3 • Registry conflict 4 • Shortcut conflict 5 • INI file conflict FILE CONFLICT SUBCATEGORIES AND MESSAGES .................................................... April, 2006 1 • Both packages add a file and their attributes are different 2 • Both packages remove the same file 3 • First package adds file and second removes it 4 • Second package adds file and first removes it 5 • Both packages add a file and some attributes are unknown 6 • Both packages add a file and the attributes match 7 • The file names are the same but their path is not necessarily the same 8 • Both add the same directory 9 • Both remove the same directory 10 • First package adds directory and second removes it 11 • Second package adds and first package removes directory Reference Guide 105 8 CONFLICT ASSESSMENT CATEGORIES Registry conflict subcategories and messages REGISTRY CONFLICT SUBCATEGORIES AND MESSAGES .................................................... 1 • Both packages add the same registry key 2 • Both packages remove the same registry key 3 • First package adds a registry key and second removes it 4 • Second package adds a registry key and first removes it 5 • Packages set the same registry value to different values 6 • Both packages remove the same registry value 7 • First package adds and second package removes value 8 • Second package adds and first removes value 9 • Both packages set the same registry value to the same value SHORTCUT CONFLICT SUBCATEGORIES AND MESSAGES .................................................... 1 • Both packages write a shortcut in the same place, but the details of the shortcut differ 2 • Both packages remove the same shortcut 3 • First package adds a shortcut and second removes it 4 • Second package adds a shortcut and first removes it 5 • Both packages add a shortcut and both shortcuts have the same attributes INI FILE CONFLICT SUBCATEGORIES AND MESSAGES .................................................... 106 1 • Both packages add the same ini section 2 • Both packages remove the same ini section WinINSTALL Desktop Management Suite and Desktop Availability Suite INI File conflict subcategories and messages April, 2006 ..... CONFLICT ASSESSMENT CATEGORIES 3 • First package adds and second package removes the same ini section 4 • Second package adds and first package removes the same ini section 5 • Both packages add the same ini value, with different values 6 • Both packages remove the same ini value 7 • First package adds and second package removes the ini value 8 • Second package adds and first package removes the ini value 9 • Both package add the same ini value with the same value Reference Guide 107 8 108 CONFLICT ASSESSMENT CATEGORIES INI File conflict subcategories and messages WinINSTALL Desktop Management Suite and Desktop Availability Suite 9 MSI C USTOM A CTIONS T ..... ................................... his chapter uses the simple launching of an external program as an example of a Windows Installer custom action. Such actions can be configured to executed as part of a package installation or uninstallation, and at any point during the install or uninstall process. This chapter details how to call an external program at the start or completion of the installation or uninstallation of a package. These four examples are intended to serve as a first step in understanding how to create and configure custom actions for Windows Installer packages. Configuring any of these simple behaviors is straightforward, and involves two separate actions. First you must set up the custom action itself. Once the custom action has been created, you must then add it to the sequence table, which includes specifying at what point in the process and under what conditions it will be executed. WinINSTALL makes these actions very simple and easy to perform. TIP: For additional details on custom actions and their configuration, please see the Windows Installer help file, MSI.CHM, available from Microsoft. .................................................... DEFINING THE CUSTOM ACTION: You can define an external program as a custom action within an MSI package by running the WinINSTALL Custom Action Wizard: 1 Select the desired Windows Installer package in the tree pane, select General in the list pane, select the Advanced tab in the data pane and select the Custom Actions sub-tab. 2 3 Click the Add icon to launch the Custom Action Wizard. On the Source Type panel, provide a name for the custom action (alphanumeric characters only--no spaces or special characters), select EXE as the type, and click Next. 4 5 On the Source Storage panel, select the Directory radio button, and click Next. When the Directory panel appears, leave the Enter directory where the custom action may be found field blank, and click Next. April, 2006 Reference Guide 109 MSI CUSTOM ACTIONS 9 Defining the Custom Action: 6 On the Target panel, enter the UNC path and filename of the target executable, along with any command line parameters. Note that properties can be included here (e.g. [SourceDir]winstala.exe). NOTE: If you specify the SourceDir property, you must also add the ResolveSource action to the sequence table prior to the custom action. Be sure to include quotation marks around the executable path if you are using long path names. Click Next. 7 On the Final Details panel, select Inscript/Commit for the Execution of custom action and Continue as the Return Type. 8 The Completing panel reminds you that you will need to add the custom action to the sequence table in the appropriate place (see the additional steps below). Click Finish to complete the wizard, and then click the Save icon (diskette) on the tool bar to save the package. 9 To complete the preparation of your custom action, you will need to specify where in the install sequence the custom action should be executed, as well as the appropriate sequence condition. These specifications differ, depending on your intent, and are detailed below for pre-install, post-install, pre-uninstall, and post-uninstall situations. SPECIFYI NG THE CUSTOM ACTI ON SEQUENCE: To instruct the Windows Installer to execute your custom action at the appropriate time and under the appropriate conditions, you will need to follow one of the procedures outlined below, depending on your intentions. PRE-PROCESSING DURING INSTALL: To enter your custom action to execute at the start of the package installation, you must add it to the sequence table immediately following the InstallInitialize action by following these steps: 1 Select the Advanced tab, the Sequence sub tab, the Install sub tab, and the Execute sub tab, then sort the events by sequence. 2 Choose a sequence number between the InstallInitialize event and the event immediately following it. 3 110 Click the Add icon to add your custom action into the sequence. WinINSTALL Desktop Management Suite and Desktop Availability Suite Defining the Custom Action: 4 ..... MSI CUSTOM ACTIONS On the Sequence Entry dialog, enter the sequence number you have chosen, type in NOT Installed as the sequence condition, and click the Ellipsis button beside the Action field to browse for and select your custom action. 5 Click OK to add the custom action to the sequence and again save the package. POST-PROCESSING DURING INSTALL: To enter your custom action to execute at the end of the package installation, you must add it to the sequence table immediately before the InstallFinalize action by following these steps: 1 Select the Advanced tab, the Sequence sub tab, the Install sub tab, and the Execute sub tab, then sort the events by sequence. 2 Choose a sequence number between the InstallFinalize event and the event immediately preceding it. 3 4 Click the Add icon to add your custom action into the sequence. On the Sequence Entry dialog, enter the sequence number you have chosen, type in NOT Installed as the sequence condition, and click the Ellipsis button beside the Action field to browse for and select your custom action. 5 Click OK to add the custom action to the sequence and again save the package. PRE-PROCESSING DURING UNINSTALL: To enter your custom action to execute at the start of the package uninstallation, you must add it to the sequence table immediately following the InstallInitialize action by following these steps: 1 Select the Advanced tab, the Sequence sub tab, the Install sub tab, and the Execute sub tab, then sort the events by sequence. 2 Choose a sequence number between the InstallInitialize event and the event immediately following it. 3 4 Click the Add icon to add your custom action into the sequence. On the Sequence Entry dialog, enter the sequence number you have chosen, type in Installed as the sequence condition, and click the Ellipsis button beside the Action field to browse for and select your custom action. 5 April, 2006 Click OK to add the custom action to the sequence and again save the package. Reference Guide 111 MSI CUSTOM ACTIONS 9 Defining the Custom Action: POST-PROCESSING DURING UNINSTALL: To enter your custom action to execute at the end of the package uninstallation, you must add it to the sequence table immediately before the InstallFinalize action by following these steps: 1 Select the Advanced tab, the Sequence sub tab, the Install sub tab, and the Execute sub tab, then sort the events by sequence. 2 Choose a sequence number between the InstallFinalize event and the event immediately preceding it. 3 4 Click the Add icon to add your custom action into the sequence. On the Sequence Entry dialog, enter the sequence number you have chosen, type in Installed as the sequence condition, and click the Ellipsis button beside the Action field to browse for and select your custom action. 5 112 Click OK to add the custom action to the sequence and again save the package. WinINSTALL Desktop Management Suite and Desktop Availability Suite Section 4 ..... ................................... M ISCELLANEOUS .................................................................... C HAPTER 10: W IN INSTALL L OGGING C HAPTER 11: S PECIAL W IN INSTALL U TILITIES C HAPTER 12: W IN INSTALL S CRIPTING E XTENSIONS April, 2006 Reference Guide 113 114 WinINSTALL Desktop Management Suite and Desktop Availability Suite W IN INSTALL L OGGING ..... ................................... W 10 inINSTALL logging is carried out in three places - the Console, the WinINSTALL Agent, and the installers. Console logging can have either or both of two targets: the WinINSTALL database and/or the Windows Event Log. The WinINSTALL Agent can log to the database, the event log, and/or to a file, and the WinINSTALL installers can log to any or all of those targets, plus e-mail and/or SNMP traps. .................................................... CONSOLE LOGGING Console logging provides an audit trail of console user activity. The only Console Logging setting (View/Console Options) is whether to log to the WinINSTALL database, the Windows Event Log, both, or neither. When you click the Console Log node in the tree pane, you can view Console logging on either the Database Log or Windows Event Log tab in the data pane. WINI NSTALL DATABASE LOG When the Console Log node is highlighted in the tree pane, a list of all Console user activity that has been logged to the WinINSTALL database displays on the Database Log tab in the data pane. You have the option of purging this log on demand. The following information displays for each entry: April, 2006 Type • Because Console logging simply provides an audit trail of console user activity, all of the entries displayed on this tab are Informational. Date • The date on which the console user activity was logged to the WinINSTALL database. Time • The time at which the console user activity was logged to the WinINSTALL database. Category • For WinINSTALL database logging, only entries in the Console category display. Description • A brief explanation of the console user activity that was logged to the WinINSTALL database. Reference Guide 115 10 W I N I N S TA L L L O G G I N G Console logging Event Code • Each Console activity has a numeric event code that corresponds to a particular activity. Refer to Console Log Event Codes and Descriptions for the meaning of each numeric code. User • The name of the console user who was logged in when the activity was logged to the WinINSTALL database. Click the Purge button to erase all of the existing entries that have been logged to the WinINSTALL database. TIP: You configure WinINSTALL to log Console activity to the WinINSTALL database on the Console Options dialog, accessible from the View/Console Options menu item. WINDOWS EVENT LOG When the Console Log node is highlighted in the tree pane, a list of all Console user activity that has been logged to the Windows Event Log on the Console machine displays on the Windows Event Log tab in the data pane. You have the option of refreshing this view on demand. The following information displays for each entry: 116 Type • Because Console logging simply provides an audit trail of console user activity, all of the entries displayed on this tab are Informational. Date • the date on which the console user activity was logged to the Windows Event Log. Time • This is the time at which the console user activity was logged to the Windows Event Log. Category • For Windows Event Logging, only Application entries with the source of WinINSTALL for the console machine will display. Description • This is a brief explanation of the console user activity that was logged to the Windows Event Log. Event Code • Each Console activity has a numeric event code that corresponds to a particular activity. Refer to Console Log Event Codes and Descriptions for the meaning of each numeric code. User • This is the name of the console user who was logged in when the activity was logged to the Windows Event Log. WinINSTALL Desktop Management Suite and Desktop Availability Suite Console logging ..... W I N I N S TA L L L O G G I N G Click the Refresh button to refresh this view on demand. TIP: You configure WinINSTALL to log Console activity to the Windows Event Log on the Console Options dialog, accessible from the View/Console Options menu item. CONSOLE LOG EVENT CODES AND DESCRIPTI ONS The Event column contains a numeric value which reflects the activity that was logged. April, 2006 1 • the *** top-level list has been added. 2 • the *** top-level list has been removed. 3 • the *** list has been added to the +++ list. 4 • the *** list has been modified. 5 • the *** list has been removed from the +++ list. 6 • the *** package has been added to the +++ list. 7 • the *** package has been modified. 8 • the *** package has been removed from the +++ list. 9 • the *** machine has been added. 10 • the *** machine has been modified. 11 • the *** machine has been removed. 12 • the WinINSTALL Agent has been deployed to the *** machine. 13 • the *** scheduled task has been added. 14 • the *** scheduled task has been modified. 15 • the *** scheduled task has been removed. 16 • the *** search has been added. 17 • the *** search has been modified. 18 • the *** search has been removed. 19 • the *** task has been run on the +++ machine. 20 • An error has occurred ***. 21 • the *** machine has been configured. Reference Guide 117 10 118 W I N I N S TA L L L O G G I N G Console logging 22 • the following Client Reset Template was added: ***. 23 • the following Client Reset Template was removed: ***. 24 • the following Client Reset Template was edited: ***. 25 • the following Client Reset Share was added: ***. 26 • the following Client Reset Share was removed: ***. 27 • the following Client Reset Share was edited: ***. 28 • A boot floppy was created for the following Client Reset Template: ***. 29 • A user security access violation occurred in Client reset Console. 30 • A database access failure occurred in Client Reset: ***. 31 • A language file is missing in Client Reset: ***. 32 • Failed to create a boot floppy for the following Client Reset Template: ***. 33 • the following Replication Job was added: ***. 34 • the following Replication Job was removed: ***. 35 • the following Replication Job was edited: ***. 36 • the following Client Reset Share Job was added: ***. 37 • the following Client Reset Share Job was removed: ***. 38 • the following Client Reset Share Job was edited: ***. 39 • the following Replication Job was run: ***. 40 • the following Replication Job was aborted: ***. 41 • the following Replication Job status history was cleared: ***. 42 • Failed to run the following Replication Job: ***. 43 • Failed to abort the following Replication Job: ***. 44 • Failed to clear status history for the following Replication Job: ***. 45 • A user security access violation occurred in Replication Console. 46 • A database access failure occurred in Replication: ***. 47 • Debug: ***. WinINSTALL Desktop Management Suite and Desktop Availability Suite WinINSTALL Agent logging ..... W I N I N S TA L L L O G G I N G .................................................... WININSTALL AGENT LOGGING WinINSTALL Agent logging occurs on both servers and workstations and is used primarily for diagnostic purposes. The Agent makes entries directly into the machine’s event log and/or produces an event log transaction file, which then gets merged into the WinINSTALL database or written to a file. NOTE: If logging to a file is enabled, the Agents will log events to a text file in the local Windows directory. The filename will be WInn.tmp, where nn is a numeric value between 00 and 99). If logging to a file is enabled, the WinINSTALL Agent will log to a text file on the local machine. The file is called WInn.tmp (where nn is an incremented number) and is stored in the Windows folder. Each time the WinINSTALL Agent service is stopped and started again, a new .tmp file is generated with an incremented number in the file name. You cannot copy or read the file while the WinINSTALL Agent is running on the local machine. WARNING: When the WinINSTALL Agent logs to a text file, that log file is written in Unicode and therefore cannot be read on a machine with a Windows 9x operating system. However, you can copy it to a Windows NT, 2000, XP, or 2003 machine and read it there. WinINSTALL Agent logging has three levels, each of which can be directed to a file, to the event log, and/or to the database. April, 2006 Standard • Errors, warnings, and successes will be logged. Verbose • Errors, warnings, successes, and informational messages will be logged. Diagnostic • Errors, warnings, successes, informational messages, and diagnostic messages will be logged. Reference Guide 119 10 W I N I N S TA L L L O G G I N G Installer logging WARNING: Diagnostic logging produces an enormous amount of data, which can be very useful for troubleshooting. But after the troubleshooting process is complete, it is important to set the logging level back to a lower level in order to avoid flooding the database or event log with this extra data. .................................................... INSTALLER LOGGING Installer logging takes place when the WinINSTALL agent is performing software distribution and obeys the Notification settings for the specific list or package being installed. Installer logging has six levels, each of which can be directed to any of the traditional logging targets (database, event log, file, e-mail, and SNMP trap). None • No logging will occur. Errors Only • Only errors will be logged. Errors + Warnings • Only errors and warnings will be logged. Standard • Errors, warnings, and successes will be logged. Verbose • Errors, warnings, successes, and informational messages will be logged. Diagnostic • Errors, warnings, successes, informational messages, and diagnostic messages will be logged. WARNING: Diagnostic logging produces an enormous amount of data, which can be very useful for troubleshooting. But after the troubleshooting process is complete, it is important to set the logging level back to a lower level in order to avoid flooding the log target with this extra data. 120 WinINSTALL Desktop Management Suite and Desktop Availability Suite S PECIAL W IN INSTALL U TILITIES W ..... ................................... 11 inINSTALL includes a number of special purpose utilities and sample packages. The executables are generally located in the bin directory of the WinINSTALL share. . . . . . . . . . . . . . . . . . . . . . . . . . . . .(.N. O. . N. .E. T. .N. O. . G. .O. .. E. .X. E. .). . . NETWORK DETECTION This utility allows you to specify that a particular action should be executed only if the network is detected. If no network is detected, the specified action simply does not happen. This is very helpful for remote or laptop users who are not always connected to the network. If a specific activity is scheduled to occur during a time when the user is not connected to the network, this utility can make sure that nothing crashes/blows up as a result. For example, you can put NoNetNoGo.exe in a script that runs when the machine boots up. CREATING A BASELINE FOR CONFLICT ASSESSMENT (WIBASELINEGEN.EXE) .................................................... This utility creates a “baseline” of a machine which can then be used for conflict assessment. A baseline defines the theoretical initial state of a machine before any packages are installed, such as the state of a machine with only a particular operating system and a service pack installed. You can include a baseline in a conflict assessment to determine if there will be potential conflicts when specific packages are installed on machines with that baseline. You run a conflict assessment baseline on a machine by remotely invoking WIBaselineGen.exe in the bin directory of a WinINSTALL share. .................................................... CLIENT LAUNCH (WICLIENT.EXE) This utility allows a user to install software on a workstation using the administrative privileges of the WinINSTALL service. Normally, a user does not have administrative privileges and thus cannot perform software installations. However, there may be instances in which an administrator wants a particular user to be able to install a particular package on a particular machine. On the Distribution tab of the WinINSTALL Agent Settings dialog, the administrator checks the Client Launch checkbox and then specifies the permissions for the appropriate user(s). The administrator must then give the user(s) a link to WIClient.exe or tell them where it can be accessed. WIClient.exe passes the entire command line to the April, 2006 Reference Guide 121 11 S P E C I A L W I N I N S TA L L U T I L I T I E S Script to Add a Database User (dbAddUser.cmd) installer via the distribution functionality of the WinINSTALL Agent. The only thing that is not passed is an optional -w, which tells WIClient to wait for the installation to complete. For example, using the following command would pass everything after -w to the installer: WIClient –w test.lst NOTE: Versions of WinINSTALL prior to 8.x performed the client launch functionality of WIClient.exe through the NTSVC32.exe and SSWNTSVC.exe utilities. SCRIPT TO ADD A DATABASE USER (DBADDUSER.CMD) .................................................... This script enables an administrator to give permission to other users to use a Microsoft SQL Server 2000 or MSDE 2000 (Microsoft SQL Server 2000 Database Engine) database with NT Authentication. (NT Authentication is the WinINSTALL default for permissions on an MSDE 2000 or SQL Server 2000 database.) This script must be run from a command prompt on a machine that has the OSQL.exe installed in the path. (OSQL.exe would normally be in the path on a machine where MSDE 2000 or SQL Server 2000 has been installed.) The script requires three parameters - the name of the database server/instance, the name of the database, and the name of the user to whom permission will be granted. A sample command line is shown below: dbAddUser.cmd MACHINE\ONDSQL WINSTALL8 MyDomain\MyUser This script is intended to address situations where a Console user is unable to gain access to the database because of authentication problems. PROCEDURE TO SET THE DYNAMIC LIST PUBLISHING INTERVAL .................................................... The 8.70.0201 release adds a column DYNLSTINTCOUNT in the table WIAI_PUBSETTINGS. The value of this column determines the number of publishing intervals that will elapse between publishing processing of dynamic LST files. This processing can be quite time-consuming, so a larger count is desirable. 122 WinINSTALL Desktop Management Suite and Desktop Availability Suite Procedure to Set the Dynamic List Publishing Interval ..... S P E C I A L W I N I N S TA L L U T I L I T I E S The default count is 15, meaning that, for example, if the publishing interval is two minutes, dynamic LST file processing will occur every 30 minutes. The 8.70.0201 database includes three different stored procedures for setting this value in the database, in case you want to use a value other than 15. PROCEDURE TO SET THE INTERVAL COUNT FOR A SPECIFIC SERVER Purpose • Sets the interval count for a specific server. Syntax • Oracle: WI_SETDYNLSTINTCOUNT • SQL Server: dbo.WI_SETDYNLSTINTCOUNT Arguments • machine name, desired count. Example • To change the count for server CENTRALSTATION to 30: • Oracle: execute WI_SETDYNLSTINTCOUNT('CENTRALSTATION',30); • SQL Server: dbo.WI_SETDYNLSTINTCOUNT 'CENTRALSTATION',30 PROCEDURE TO SET THE INTERVAL COUNT FOR ALL SERVERS Purpose: • Sets the interval count for all servers. Syntax: • Oracle: WI_SETALLDYNLSTINTCOUNT • SQL Server: dbo.WI_SETALLDYNLSTINTCOUNT Argument: • desired count. Example: • To change the count for all servers to 40: • Oracle: execute WI_SETALLDYNLSTINTCOUNT(40); • SQL Server: dbo.WI_SETALLDYNLSTINTCOUNT 40 April, 2006 Reference Guide 123 S P E C I A L W I N I N S TA L L U T I L I T I E S 11 Special Utility for Microsoft Patches (PatchCatalog.exe) PROCEDURE TO SET THE GLOBAL DEFAULT I NTERVAL COUNT (FOR NEW SERVERS) Purpose: • Sets the global default interval count. This value is used when new servers are established. Syntax: • Oracle: WI_SETGLOBALDYNLSTINTCOUNT • SQL Server: dbo.WI_SETGLOBALDYNLSTINTCOUNT Example: • To change the global default count to 25: • Oracle: execute WI_SETGLOBALDYNLSTINTCOUNT(25); • SQL Server: dbo.WI_SETGLOBALDYNLSTINTCOUNT 25 SPECIAL UTILITY FOR MICROSOFT PATCHES (PATCHCATALOG.EXE) .................................................... The WinINSTALL 8.7 command line utility, PatchCatalog.exe, is designed to overcome limitations of the Microsoft-supplied mssecure.xml file. This utility parses the more comprehensive Microsoft-supplied patch file, wsusscan.cab, to produce a language-specific mssecure.xml file which the WinINSTALL console can read and process, in much the same way that it processes the regular mssecure.xml file. The PatchCatalog-generated XML file does have some differences from the original mssecure.xml file, though, so WinINSTALL will behave slightly differently when using this file—but WinINSTALL’s patch management features basically function in the same way with either file. Differences are itemized below. The basic steps in using this utility are as follows: 1 Download the latest version of wsusscan.cab. 2 Run PatchCatalog.exe to extract the necessary data and build the special version of mssecure.xml. 3 Make the new mssecure.xml file available to the WinINSTALL console. 4 Perform patch management tasks as desired, using the WinINSTALL product in the usual fashion. Full details on each of these steps are included below. 124 WinINSTALL Desktop Management Suite and Desktop Availability Suite Special Utility for Microsoft Patches (PatchCatalog.exe) ..... S P E C I A L W I N I N S TA L L U T I L I T I E S GENERATING MSSECURE FI LES To use the command line utility, PatchCatalog.exe, perform the following steps: 1 Install WinINSTALL and verify that the Console works properly. 2 Download the file wsusscan.cab from this URL: http://download.windowsupdate.com/microsoftupdate/v6/wsusscan/wsusscan.cab. Be certain to place this file in a directory to which you have write permission. It is recommended that you create a new directory for this purpose, because this directory will be used to hold the many subdirectories and files extracted from wsusscan.cab and also to hold the generated mssecure.xml file. 3 Run the command line utility by specifying at least the path to the wsusscan.cab file plus a language code for the desired language (the full syntax is given below). For example, if you downloaded wsusscan.cab to C:\WinINSTALL\wsusscan\wsusscan.cab and chose the Chinese language, you would enter the following at the command prompt: PatchCatalog C:\WinINSTALL\wsusscan\wsusscan.cab zh-cn This command will extract all files from wsusscan.cab necessary to generate the mssecure.xml file for the Chinese language. NOTE: The process of extracting the necessary files and building the language-specific version of mssecure.xml can take a long time, depending on the processing and disk speed of the machine involved. A fast machine may be able to complete this operation in 10 minutes or less; a slower machine could take much longer. By default, each file will be extracted only if wsusscan.cab is newer than the existing file of the same name in the target extract directory. The directory structure after the command line utility extracts files from wsusscan.cab for the Chinese language (language code “zh-cn”) will look like this: wsussscan core extended localized zh-cn April, 2006 Reference Guide 125 S P E C I A L W I N I N S TA L L U T I L I T I E S 11 Special Utility for Microsoft Patches (PatchCatalog.exe) NOTE: PatchCatalog creates three subdirectories to hold extracted files for core, extended and localized update properties. Under the localized directory, PatchCatalog will create subdirectories for each language to contain the extracted localized update files. 4 When the command line utility completes successfully, an mssecure XML file, with a name of the form, mssecure_<language code>.xml, will be contained in the directory holding the specified wsusscan.cab file, where <language code> is the language code specified on the command line. For example, if you specified the language code zh-cn, the resulting mssecure file will be named mssecure_zh-cn.xml. 5 To use this file with the Patch Management feature of the WinINSTALL Console, close the WinINSTALL Console application, copy the generated mssecure XML file to the bin directory of the WinINSTALL share, and rename the file mssecure.xml. Restart the WinINSTALL Console application and use all the Patch Management features normally. PATCHCATALOG COMMAND SYNTAX The syntax of the PatchCatalog command line is as follows: PatchCatalog [options] <wsusscan file path> <language code> Where options are the following: -o <overwrite type> = The overwrite behavior for files extracted from wsusscan.cab. <overwrite type> is one of the following: • newer (default) = extract file if wsusscan.cab is newer than existing extracted file of the same name. • always = always extract files and overwrite existing files of the same name. • never = don’t extract a file if it will overwrite an existing file of the same name. -s = Suppress progress messages. -h or ? = Display help for PatchCatalog command. <wsusscan file path> = Absolute file path to the wsusscan.cab file (includes the file name, e.g., wsusscan.cab). For example, C:\WinINSTALL\wsusscan\wsusscan.cab 126 WinINSTALL Desktop Management Suite and Desktop Availability Suite Special Utility for Microsoft Patches (PatchCatalog.exe) ..... S P E C I A L W I N I N S TA L L U T I L I T I E S <language code> = Code for the language of the updates (patches) to be extracted from wsusscan.cab and used to create the mssecure XML file. For example, the French language has the code fr. (The full list of the supported language codes appears below). SUPPORTED LANGUAGES Ultimately, the supported languages depend upon the content of the wsusscan.cab file. However, the PatchCatalog command line utility will recognize the following languages according to the associated language codes shown below. Language April, 2006 Language Code Arabic • “ar” Czech • “cs” Danish • “da” German • “de” Greek • “el” English • “en” Spanish • “es” Finnish • “fi” French • “fr” Hebrew • “he” Hungarian • “hu” Italian • “it” Japanese • “ja” Korean • “ko” Dutch • “nl” Norwegian • “no” Polish • “pl” Portuguese • “pt” Portuguese (Brazil) • “pt-br” Russian • “ru” Swedish • “sv” Turkish • “tr” Reference Guide 127 S P E C I A L W I N I N S TA L L U T I L I T I E S 11 Special Utility for Microsoft Patches (PatchCatalog.exe) Chinese • “zh-cn” Chinese (Traditional) • “zh-tw” PATCH MANAGEMENT BEHAVIOR The data contained in wssuscan.cab differs somewhat from that provided in mssecure.xml, with the result that Patch Management will operate a little differently with a generated mssecure XML file from the way it will operate with the original file. The following differences should be expected: 1 The wsusscan.cab file contains update (patch) information for a limited number of products. 2 Certain updates (patches) in wsusscan.cab are not associated with any bulletin. Since Patch Management groups patches by bulletin, bulletin IDs had to be automatically generated for these updates. The KB article number is used when available, e.g., KB321884. If two such updates have the same KB article number then an incremental number is appended to make the ID unique, e.g., KB321884-2. If for some reason there is no KB article information for these updates, the bulletin IDs will be incrementally generated as KBUndefined-1, KBUndefined-2, and so on. 3 The patch’s Date posted and Date revised values displayed on the bulletin’s General property page have a different meaning when using a generated file. 4 • The Date posted value is the earliest creation date of all the updates (patches) associated with the bulletin in wsusscan.cab. • The Date revised value is the latest creation date of all the updates (patches) associated with the bulletin in wsusscan.cab. Patch file names and folder names are less intelligible with the generated mssecure XML file because they are based on unique IDs found in the wsusscan.cab file. The names are still qualified by the bulletin ID, but as noted above, the bulletin ID may under certain circumstances be generated by the command line utility. 5 Affected service pack information is not available for generated mssecure XML files. Patches are from the generated mssecure.xml are associated only with the affected product and are not differentiated by affected service pack on the bulletin General page Products tab or on the Download Patches and Delete Patches dialogs. 6 Bulletin summary information from wsusscan.cab is not as informative as that from mssecure.xml. 128 WinINSTALL Desktop Management Suite and Desktop Availability Suite Personality Transfer Command Line Utility (WIMigCmd.exe) ..... S P E C I A L W I N I N S TA L L U T I L I T I E S PERSONALITY TRANSFER COMMAND LINE UTILITY (WIMIGCMD.EXE) .................................................... The Personality Transfer command line utility, WIMigCmd.exe, enables backups and restores to be initiated from the client machine, as opposed to the usual method of initiating such operations from the Console. As a command line utility, WIMigCmd.exe can easily be called from within a package, making WinINSTALL’s many distribution methods available as mechanisms for launching backups and restores. You can see examples of this in two of the sample packages provided with WinINSTALL (see Sample Packages, in this chapter). WIMigCmd [options] <operation> [repository path (sharerelative)] [options] can be any combination of the following: -a • Create new users as local administrators (implies -u). -k <key> • Key for encrypting/decrypting data. -o <type> • Overwrite data type: never (default), newer, or always. -t <path> • Path to the template file (share-relative). -u • Create new users as needed. -v • Verbose messages. -w • Wait for the operation to complete. -? or -h • Show help. <operation> can be either Backup or Restore: Backup • Backup user data to the repository. Restore • Restore user data from the repository. .................................................... SAMPLE PACKAGES WinINSTALL includes a number of sample packages intended to fulfill two purposes. First, these packages all perform functions which are likely to be immediately useful to many WinINSTALL users. Second, the packages also illustrate a number of useful techniques and are therefore good examples of some of the possibilities available through the range of functionality offered by the WinINSTALL product. April, 2006 Reference Guide 129 11 S P E C I A L W I N I N S TA L L U T I L I T I E S Sample Packages Most of the packages are provided in both WinINSTALL (.nai) and Windows Installer (.msi) format, to encourage comparison of the two package formats and understanding of their relationship. The packages can be used as provided, or modified to work more precisely the way you need them to. NOTE: The sample WinINSTALL packages (not the Windows Installer packages) are provided with both install and uninstall disabled to prevent accidental deployments. To enable a package, select it in the tree view, select General in the list view, and then select the Conditions/General tab, where you can allow or deny access to install and/or uninstall. INTERACTIVE INSTALLER ICON This package installs a shortcut to access the WinINSTALL Interactive User's Menu (Interactive Installer). This shortcut specifies no list file, thereby pointing the Installer to the default list file, winapps.lst. You could modify the Target File field to add a list file of your choice as a command line parameter to winstall.exe. Description • WinINSTALL Interactive User Menu List File • Distribution Methods NAI • \Packages\WIMenu\WIMenu.nai MSI • \Bin\WIMenu.msi RUN AUTOMATIC INSTALLER AT STARTUP This package writes an entry to the registry to cause the WinINSTALL Automatic Installer to execute at startup. The entry is written to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run to execute winstala.exe. The package restarts the system to complete the install, thereby invoking the Automatic Installer for the first time at that point. This entry specifies no list file, thereby pointing the Installer to the default list file, winapps.lst. You could modify the registry entry to add a list file of your choice as a command line parameter to winstala.exe 130 Description • WinINSTALL Automatic List File • Distribution Methods WinINSTALL Desktop Management Suite and Desktop Availability Suite Sample Packages NAI • \Packages\WIAuto\WIAuto.nai MSI • \Bin\WIAuto.msi ..... S P E C I A L W I N I N S TA L L U T I L I T I E S ENABLE E-MAIL DISTRI BUTI ON This package writes an entry to the registry to enable a double-click on a .nai file e-mail attachment to launch the WinINSTALL Automatic Installer to install the e-mailed .nai file. The entry is written to HKEY_CLASSES_ROOT to register the .nai file type, including a shell open command to execute winstala.exe. Description • WinINSTALL E-Mail List File • Distribution Methods NAI • \Packages\WIEmail\WIEmail.nai MSI • \Bin\WIEmail.msi EVENT VI EWER SUPPORT It is, of course, possible to successfully run the WinINSTALL Installers on a machine which does not have the WinINSTALL Agent installed. This sample package adds and registers the .DLL necessary for viewing WinINSTALL Installer event log entries on such systems. It is not needed on systems where the WinINSTALL Agent is installed. This package installs SSWLOGMC.DLL as a system service to enable the viewing of WinINSTALL Installer event log entries in the event log. The package installs one file plus associated registry entries. April, 2006 Description • WinINSTALL NT Event Viewer Support List File • Notification Methods NAI • \Packages\NTEvents\NTEvents.nai MSI • \Packages\NTEvents\NTEvents.nai Reference Guide 131 11 S P E C I A L W I N I N S TA L L U T I L I T I E S Sample Packages SNMP GET NOTIFICATI ON This package installs WinINSTALL support for Installer result reporting through SNMP Get capability. The installation is carried out by having the Installer launch the SNMPCfg.exe executable as an external process (or MSI Custom Action) with a /nt command line switch. Description • WinINSTALL SNMP Support (Get Only) List File • Notification Methods NAI • \Packages\snmp\snmp.nai MSI • \Packages\snmp\snmp.msi SNMP GET AND SET NOTI FI CATION This package installs WinINSTALL support for Installer result reporting through SNMP Get and Set capabilities. The installation is carried out by having the Installer launch the SNMPCfg.exe executable as an external process (or MSI Custom Action) with /nt and /set command line switches . Description • WinINSTALL SNMP Support (Get and Set) List File • Notification Methods NAI • \Packages\snmp\snmps.nai MSI • \Packages\snmp\snmps.msi BACKUP USER DATA AND INITIATE RESET This package demonstrates how to use the Client Reset feature in conjunction with the WinINSTALL Desktop Availability Suite’s Personality Transfer capability to perform a full client reset, beginning with a full backup of user data and settings to the repository on the server. 132 WinINSTALL Desktop Management Suite and Desktop Availability Suite Sample Packages ..... S P E C I A L W I N I N S TA L L U T I L I T I E S TIP: To create a complete, one-step, full client reset, use this sample package in conjunction with the Restore User Data sample package, described below. See the Client Reset chapter of the Administrator’s Guide for details on the various options available for this comprehensive, remote client reset capability. The package consists of two simple calls to external programs. The first of these is a preinstall execution of the Personality Transfer Command Line Utility (WIMigCmd.exe), using the -w switch to wait for the completion of the operation before returning, and the Backup parameter to specify which operation (backup or restore) to perform. Note that the Do not wait for shell to complete checkbox for this operation is unchecked, instructing the Installer to pause after launching the backup, resuming only after the backup finishes. This selection is essential to prevent the machine reset from beginning before the backup has completed. TIP: If you create a Boot Floppy Package, you can add this backup command line to that package and perform a full reset without a hidden partition. See the Client Reset chapter of the Administrators Guide for full details on creating a Boot Floppy Package. The second external process is a post-install execution of the WIRPWks.exe utility, which reboots a machine to its hidden reset partition. (This file is installed on the local machine when the reset partition is installed.) The /Q command line switch is included to run the utility in quiet mode, meaning that it will display no user interface. Note that the Do not wait for shell to complete checkbox for this operation is checked, instructing the Installer to call the utility and then complete its operation without pausing. This selection enables the Installer to complete its work and shut down so that the machine reset can proceed. NOTE: To use the sample client reset package, you must first create a Client Reset template, and you must have installed a reset partition on the target machine (see the Client Reset chapter of the Administrators Guide for details on these items). April, 2006 Description • Backup User Data & Initiate Reset List File • Client Reset Samples Reference Guide 133 S P E C I A L W I N I N S TA L L U T I L I T I E S 11 Sample Packages NAI • \Packages\ClientReset\Reset.nai MSI • None OPEN XP FIREWALL PORTS FOR WI NINSTALL OPERATIONS This package opens the ports on the Windows XP SP2 firewall necessary to enable all WinINSTALL operations. The package modifies the registry to open the following ports: 1 File and printer sharing (TCP 139 & 445, plus UDP 137 & 138). 2 WinINSTALL console IPC communications (TCP 3674). 3 WinINSTALL replication agent communications (UDP 3674). Depending on your environment, you may find that one or more of these ports are not necessary. For example, you may find that you do not need all the file and printer sharing ports open on every workstation, or you may not be using WinINSTALL Replication and therefore do not need to open UDP 3674. Note that this package has a system prerequisite set. To install this package as supplied, machines must be running Windows XP, SP2 or later. Description • XP SP2 Firewall Settings List File • Client Reset Samples NAI • \Packages\XPSP2FirewallSettings\XPSP2FirewallSettings.nai MSI • None RESTORE USER DATA This package employs the WinINSTALL Desktop Availability Suite’s Personality Transfer feature to restore all user data and settings from the last backup of the same client machine. The package operates by calling a single external process, the Personality Transfer Command Line Utility (WIMigCmd.exe), using the -w switch to wait for the completion of the operation before returning, and the restore parameter to specify which operation (backup or restore) to perform. Note that the Do not wait for shell to complete checkbox for this operation is unchecked, instructing the Installer to pause after launching the restore, resuming only after the backup finishes. 134 WinINSTALL Desktop Management Suite and Desktop Availability Suite Sample Packages ..... S P E C I A L W I N I N S TA L L U T I L I T I E S WARNING: Restoring user settings and data is not supported on Windows 95 or Windows 98. This sample package is located in the \Packages folder of the WinINSTALL share, and it is automatically added as the last package in all Dynamic List Files (see the Client Reset chapter of the Administrator’s Guide for details on Dynamic List Files). April, 2006 Description • Restore User Data List File • Client Reset Samples NAI • \Packages\restore.nai MSI • None Reference Guide 135 11 136 S P E C I A L W I N I N S TA L L U T I L I T I E S Sample Packages WinINSTALL Desktop Management Suite and Desktop Availability Suite W IN INSTALL S CRIPTING E XTENSIONS W ..... ................................... 12 inINSTALL includes support for user-written scripts to execute Console operations and modify and extend Installer functionality for WinINSTALL (.NAI) packages. .................................................... INSTALLER SCRIPTING Scripts can be run before, during or after installation or removal of a package. WinINSTALL supports any script that has an associated script engine installed on the target machine. Common script engines are JavaScript and VBScript. You can instantiate any automation-capable object and invoke its methods and properties. In addition to built-in language elements, WinINSTALL includes its own unique language features. These language features include built-in objects, constants and functions that allow the script developer to gain access to the state of the installation or removal process and to affect the state of the process. INSTALLER OBJECT PROPERTIES AND METHODS At all times, an instance of an Installer object is available. This object, named Installer, is the vehicle for obtaining information about the state of the installer, and for modifying the state where possible. The Installer object cannot be created - you can use only the constant instance. Through the object model and WinINSTALL scripting extensions, scripts have read access to the full range of WinINSTALL variables (using the SetVar and GetVar methods). The following properties and methods are defined for the Installer object. For each property or method, the type, description and an example are listed. Name: • Abort Type: • Method Description: • Aborts the install process. Can optionally include a message, a (long) return code, and a (long) error code. Example: Installer.Abort “Installs of this app not allowed on Fridays.” April, 2006 Reference Guide 137 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Installer Scripting Name: • SetVar Type: • Method Description: • Allows an installer variable to be set. These variables are global to all installs for the life of the installer and can be used in place of any other installer variable. Example: Installer.SetVar “$Company$” “Spaceley Sprockets” Name: • GetVar Type: • Method Description: • Returns the value of an installer variable. Example: Dim WinDir As String WinDir = Installer.GetVar “@Windows” Name: • NAIFile Type: • Property (String, Read/Only) Description: • The current fully-qualified NAI file name. Example: Dim File As String File = Installer.NAIFile Name: 138 • LSTFile WinINSTALL Desktop Management Suite and Desktop Availability Suite Installer Scripting ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Type: • Property (String, Read/Only) Description: • The current fully-qualified LST file name. If the current NAI file is in a hierarchy of LST files, this string will include all of the LST files in the hierarchy, separated by “::”, with the topmost LST file first. Example: Dim File As String File = Installer.LSTFile Name: • IsQuiet Type: • Property (Boolean, Read/Only) Description: • The state of the /Quiet flag, whether explicitly specified on the command line or implied by the operating environment. If this flag is set, you should not issue any message boxes or otherwise indirectly generate any messages to the user interface (which may not exist if you are running as an NT service). Example: If Installer.IsQuiet = False Then MsgBox “The value of @Windows is “+ Installer.GetVar (“@Windows”) End If Name: • IsPrompt Type: • Property (Boolean, Read/Only) Description: • The state of the /NoPrompt flag, whether explicitly specified on the command line or implied by the operating environment. If this flag is set, you should not prompt the user for any information (see IsQuiet). Example: If Installer.IsPrompt = False Then MsgBox “Are you sure that you want to install this?” April, 2006 Reference Guide 139 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Installer Scripting End If Name: • IsNTService Type: • Property (Boolean, Read/Only) Description: • The state of the /NTService flag, whether explicitly specified on the command line or implied by the operating environment. This flag implies /Quiet_NoPrompt, but lets the script developer distinguish between the NT service environment and other environments. Example: If Installer.IsNTService = False Then Shell “SOL.EXE” ' Give the user something to do during install End If Name: • Operation Type: • Property (Integer, Read/Only) Description: • The current operation (install or remove). Constants are defined for the return values: OpRemove and OpInstall. Example: If Installer.Operation = OpRemove Then If MsgBox (“Removing this application will render it unavailable. Continue?”, ebYesNo) = ebNo Then Installer.Abort “User aborted the remove” End If End If Name: 140 • Status WinINSTALL Desktop Management Suite and Desktop Availability Suite Installer Scripting ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Type: • Property (Integer, Read/Only) Description: • The current installer status (pre-/running/post-). Constants are defined for the return values: StatPre, StatRunning, StatPost. Example: If Installer.Status = StatPost And Installer.Operation = OpInstall Then MsgBox “Installation of “+ Installer.AppName + “ successful!” End If Name: • AppName Type: • Property (String, Read/Only) Description: • The current application name (from the NAI file). Example: If Installer.Status = StatPost And Installer.Operation = OpInstall Then MsgBox “Installation of “+ Installer.AppName + “ successful!” End If Name: • Reset Type: • Property (Integer, Read/Write) Description: • Allows the current Reset value to be viewed and set. Reset values are defined as: ResetNone (no reset), ResetExit (exit Windows (Win16) or Logoff (Win32)), ResetRestart (restart Windows (Win16) or reboot (Win32), ResetReboot (reboot), ResetShutdown (shutdown, Win32 only), ResetLogoff (logoff, Win32 only). Example: If Installer.Reset = ResetRestart Then Installer.Reset = ResetReboot April, 2006 Reference Guide 141 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Installer Scripting End If INSTALLER SCRI PT EVENTS Scripts can be used in all phases of a package installation or uninstallation, but scripts used during the remove phase or add phase must be event-driven. You can construct scripts to execute at the following specified events: • OnPreFileCopy • OnPostFileCopy • OnPreFileUpdate • OnPostFileUpdate • OnPreDirCreate • OnPostDirCreate • OnPreDirRemove • OnPostDirRemove • OnPreIconInstall • OnPostIconInstall • OnPreIconRemove • OnPostIconRemove • OnPreTextInstall • OnPostTextInstall • OnPreTextRemove • OnPostTextRemove • OnPreServiceInstall • OnPostServiceInstall • OnPreServiceRemove • OnPostServiceRemove • OnPreRegInstall • OnPostRegInstall • OnPreRegRemove 142 WinINSTALL Desktop Management Suite and Desktop Availability Suite Installer Scripting ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S • OnPostRegRemove • OnMessageDisplay • OnPreProgramGroupInstall • OnPostProgramGroupInstall • OnPreProgramGroupRemove • OnPostProgramGroupRemove Event handlers are functions that take no parameters and return a code. The return codes are the following: EventContinue • Continue installing or removing EventSkip • Skip the operation that caused the event EventDisable • Disable the event for the remainder of the install or removal INSTALLER EVENT PROPERTIES Each event is specific to specified data that is available in properties of the Installer object. For example, the OnPreFileCopy and OnPostFileCopy events are specific to the copying of a particular file. The Installer object will contain the data specifying the file being copied (Installer.Source and Installer.Dest), and an event will be triggered when the file being copied matches the one specified in the script. The following Installer properties are defined for these events: Name: • Source Type: • Property (String, Read/Write) Description: • Specifies the source string data for an event. For example, in the OnPreFileCopy and OnPostFileCopy events, Installer.Source is the source file in the file to copy operation that either is about to be carried out or has just completed. Example: If Installer.Source = “F:\NewDB\DataFile.DB” Then April, 2006 Reference Guide 143 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Installer Scripting MsgBox “The file ‘DataFile.DB’ is about to be replaced. Please make sure the file is not open before clicking ‘OK’.” End If Name: • Dest Type: • Property (String, Read/Write) Description: • Specifies the destination string data for an event. For example, in the OnPreFileCopy and OnPostFileCopy events, Installer.Dest is the destination file in the file to copy operation that either is about to be carried out or has just completed. Example: If Installer.Dest = “C:\Data\Datafile.DB” Then MsgBox “The file ‘DataFile.DB’ has been updated. see the latest sales figures.” You may now End If Name: • RCode Type: • Property (Integer, Read/Only) Description: • The return code from the event just completed. For example, in the OnPostFileCopy event, Installer.Rcode would contain the return code for the file copy event just completed. Constants are defined for the return values: Example: If Installer.RCode <> Rcode_Success Then MsgBox “Copy of “+ Installer.Source + “ to “+ Installer.Dest + “ was unsuccessful!” End If 144 WinINSTALL Desktop Management Suite and Desktop Availability Suite Installer Scripting ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Name: • IconProcessor Type: • Property (Integer, Read/Only) Description: • Indicates the facility being used to update icon definitions—either the program manager or the shell link interface. Constants are defined for the return value: IconProcPgmMgr, IconProcLnkFile. This property is meaningful only during the following operations: • OnPreIconInstall • OnPostIconInstall • OnPreIconRemove • OnPostIconRemove • OnPreProgramGroupInstall • OnPostProgramGroupInstall • OnPreProgramGroupRemove • OnPostProgramGroupRemove Example: If Installer.IconProcessor = IconProcPgmMgr Then MsgBox “Using program manager to install icons” Else MsgBox “Using shell link interface to install icons” End If April, 2006 Name: • IconLabel Type: • Property (String, Read/Write) Description: • The label used for an icon being added or removed. This is meaningful only when the program manager is being used to install icons. Reference Guide 145 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Installer Scripting This property is meaningful only during the following operations: • OnPreIconInstall • OnPostIconInstall • OnPreIconRemove • OnPostIconRemove Example: If Installer.IconProcessor = IconProcPgmMgr Then MsgBox “Installing “+ Installer.IconLabel End If Name: • CmdLine Type: • Property (String, Read/Write) Description: • The command line represented by the icon being installed or removed. This consists of the name of the executable file as well as any arguments to be provided. This property is meaningful only during the following operations: • OnPreIconInstall • OnPostIconInstall • OnPreIconRemove • OnPostIconRemove Example: Installer.CmdLine = Installer.CmdLine + “ /DEBUG” Name: 146 • WorkingDir WinINSTALL Desktop Management Suite and Desktop Availability Suite Installer Scripting Type: • Property (String, Read/Write) Description: • The working directory associated with the icon being installed or removed. If this is an empty string, then no working directory is associated with the icon. ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S This property is meaningful only during the following operations: • OnPreIconInstall • OnPostIconInstall • OnPreIconRemove • OnPostIconRemove Example: Installer.WorkingDir = “C:\TEMP” Name: • IconFile Type: • Property (String, Read/Write) Description: • The name of the file containing the graphic icon to be used for the icon being installed or removed. If this is an empty string, then the executable file (whose name is contained in Installer.CmdLine) will be used. This property is meaningful only when the program manager is being used to process icons and only during the following operations: • OnPreIconInstall • OnPostIconInstall • OnPreIconRemove • OnPostIconRemove Example: If Installer.IconProcessor = IconProcPgmMgr Then Installer.IconFile = “C:\MYICONS.ICN” Installer.IconIdx = 0 April, 2006 Reference Guide 147 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Installer Scripting End If Name: • IconIdx Type: • Property (Integer, Read/Write) Description: • The index (in the file indicated by Installer.IconFile) of the graphic icon to be used to represent the icon being installed or removed. This is meaningful only when the program manager is being used to process icons and only when Installer.IconFile is not an empty string. This property is meaningful only during the following operations: • OnPreIconInstall • OnPostIconInstall • OnPreIconRemove • OnPostIconRemove Example: If Installer.IconProcessor = IconProcPgmMgr Then Installer.IconFile = “C:\MYICONS.ICN” Installer.IconIdx = 0 End If Name: • HotKey Type: • Property (Integer, Read/Write) Description: • The key code for the hot key associated with an icon being installed or removed. A value of zero means no hot key. This property is meaningful only during the following operations: • OnPreIconInstall 148 WinINSTALL Desktop Management Suite and Desktop Availability Suite Installer Scripting ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S • OnPostIconInstall • OnPreIconRemove • OnPostIconRemove Example: Installer.WorkingDir = “C:\TEMP” Name: • ShowCmd Type: • Property (Integer, Read/Write) Description: • A show command associated with the icon being installed or removed. This is an integer value that represents the initial state the associated application’s window should have when the application is started using this icon. This property is meaningful only during the following operations: • OnPreIconInstall • OnPostIconInstall • OnPreIconRemove • OnPostIconRemove Example: Installer.ShowCmd = 1 April, 2006 Name: • SepMem Type: • Property (Boolean, Read/Write) Description: • The separate memory flag for the icon being installed or removed. This property is meaningful only on NT machines and meaningful only when the icon represents a 16-bit application. When true, this flag means that the application associated with the icon should be run in a separate memory space when it is started using this icon. Reference Guide 149 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Installer Scripting This property is meaningful only during the following operations: • OnPreIconInstall • OnPostIconInstall • OnPreIconRemove • OnPostIconRemove Example: Installer.SepMem = False Name: • LinkFile Type: • Property (String, Read/Write) Description: • The full path name of the .LNK file that will be used to represent the icon. This property is meaningful only when shell link files are being used to represent icons. This property is meaningful only during the following operations: • OnPreIconInstall • OnPostIconInstall • OnPreIconRemove • OnPostIconRemove Example: If Installer.IconProcessor = IconProcLnkFile MsgBox “Installing file: “ + Installer.LinkFile Else MsgBox “Installing icon: “ + Installer.IconLabel End If 150 WinINSTALL Desktop Management Suite and Desktop Availability Suite Installer Scripting ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Name: • GroupName Type: • Property (String, Read/Write) Description: • The name of the program manager group being installed or removed. This property is meaningful only when the program manager is being used to install icons. This property is meaningful only during the following operations: • OnPreProgramGroupInstall • OnPostProgramGroupInstall • OnPreProgramGroupRemove • OnPostProgramGroupRemove Example: If Installer.GroupName = “Accessories” Installer.GroupName = “New Accessories” End If Name: • GroupCommon Type: • Property (Boolean, Read/Write) Description: • Flag indicating whether the program group being installed or removed is a common group. This property is meaningful only when the program manager is being used to install icons and only under Windows NT 3.51. This property is meaningful only during the following operations: • OnPreProgramGroupInstall • OnPostProgramGroupInstall • OnPreProgramGroupRemove • OnPostProgramGroupRemove April, 2006 Reference Guide 151 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Console Scripting Example: If Installer.GroupCommon = False If Installer.GroupName = “Accessories” Installer.GroupCommon = True End If End If .................................................... CONSOLE SCRIPTING The Console supports two COM objects that can be accessed through Windows Scripting Host (WSH), using any programming language that is supported by WSH (e.g. VB Script and Java Script). THE MACHINES OBJECT IMPLEMENTED IN: SNAPMACH.DLL HOW TO CREATE: var machines = new ActiveXObject(“WININSTALL.MACHINES”); METHODS: GETMACHINE 152 Prototype • Machine GetMachine(String strMachineName) Description • GetMachine returns a Machine object which then can be used to issue commands for that particular machine. The return value will be NULL if the machine doesn't exist within the system. WinINSTALL Desktop Management Suite and Desktop Availability Suite Console Scripting ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S THE MACHINE OBJECT IMPLEMENTED IN: SNAPMACH.DLL HOW TO CREATE: You cannot create the machine object directly. Instead, you should first create a Machines object and then call the GetMachine method. METHODS: STARTAGENT Prototype • BOOL StartAgent() Description • Starts the agent on the machine. Returns TRUE if successful, FALSE otherwise. STOPAGENT Prototype • BOOL StopAgent() Description • Stops the agent on the machine. Returns TRUE if successful, FALSE otherwise. RUNINVENTORY April, 2006 Prototype • BOOL RunInventory() Description • Runs inventory on the machine. Returns TRUE if successful, FALSE otherwise. Reference Guide 153 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Console Scripting RUNMERGE Prototype • BOOL RunMerge() Description • Runs the merge process on the machine. Returns TRUE if successful, FALSE otherwise. RUNPUBLISH Prototype • BOOL RunPublish() Description • Runs the publish process on the machine. Returns TRUE if successful, FALSE otherwise. DISTRIBUTE Prototype • BOOL Distribute(String strPackagePath,int nInstallType) Description • Distributes a package on the machine. The strPackagePath parameter indicates the UNC file path for the list (*.lst) or package (*.msi or *.nai). The nInstallType parameter indicates the install type. Possible values include 0 - Install, 1 - Uninstall, and 2 - Re-install. Returns TRUE if successful, FALSE otherwise. CONSOLE SCRI PTING EXAMPLES EXAMPLE 1: INVENTORY var WSHShell; var vbOKCancel = 1; var vbOKOnly = 0 var vbInformation = 64; var vbCancel = 2; // our helper function function makeInputBox () { 154 WinINSTALL Desktop Management Suite and Desktop Availability Suite // some helpers Console Scripting ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S // Create our Internet Browser object var oIE4 = WScript.CreateObject(“InternetExplorer.Application”); oIE4.left=50; // Windows position oIE4.top = 100; oIE4.height = 300; // Windows size oIE4.width = 600; oIE4.menubar = 1; oIE4.toolbar = 1; oIE4.navigate (“about:blank”); // HTML document with function oIE4.visible = 0; while (oIE4.Busy) // keep MSIE invisible {} // wait till MSIE is ready var doc1 = oIE4.Document; // get the document object doc1.open; // open it // write a script doc1.writeln (“<HTML><HEAD>”); doc1.writeln (“<Script LANGUAGE=\”VBScript\”><!--”); doc1.writeln (“Function InputBox1 (prompt,title, value)”); doc1.writeln (“ InputBox1 = InputBox (prompt, title, value)”); doc1.writeln (“End Function”); doc1.writeln (“//-->”); doc1.writeln (“</Script>”); doc1.writeln (“</HEAD><BODY></BODY></HTML>”); doc1.close; // close write access return oIE4; } function InputBox (obj, prompt, title, x) April, 2006 Reference Guide 155 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Console Scripting { var oIE4doc = obj.Document.Script; var result = oIE4doc.InputBox1(prompt,title,x); return result; } var machines = new ActiveXObject(“WININSTALL.MACHINES”); var machine; var result; WSHShell = WScript.CreateObject(“WScript.Shell”); var mobj = makeInputBox(); var prompt = “Enter the machine name: “; var title = “Run Inventory”; var value = “<enter a machine name>”; var result = InputBox(mobj, prompt, title, value); machine = machines.GetMachine(result); if ( machine == null ) WScript.Echo('Machine not Found'); else { WSHShell.Popup(“Running Inventory on \\” + result, 0, “Running Inventory...”, vbOKOnly + vbInformation); //WScript.Echo('found'); result = machine.RunInventory(); } mobj.Quit(); 156 WinINSTALL Desktop Management Suite and Desktop Availability Suite Console Scripting ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S EXAMPLE 2: MERGE var WSHShell; var vbOKCancel = 1; // some helpers var vbOKOnly = 0 var vbInformation = 64; var vbCancel = 2; // our helper function function makeInputBox () { // Create our Internet Browser object var oIE4 = WScript.CreateObject(“InternetExplorer.Application”); oIE4.left=50; // Windows position oIE4.top = 100; oIE4.height = 300; // Windows size oIE4.width = 600; oIE4.menubar = 1; oIE4.toolbar = 1; oIE4.navigate (“about:blank”); // HTML document with function oIE4.visible = 0; while (oIE4.Busy) // keep MSIE invisible {} // wait till MSIE is ready var doc1 = oIE4.Document; // get the document object doc1.open; // open it // write a script doc1.writeln (“<HTML><HEAD>”); doc1.writeln (“<Script LANGUAGE=\”VBScript\”><!--”); doc1.writeln (“Function InputBox1 (prompt,title, value)”); April, 2006 Reference Guide 157 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Console Scripting doc1.writeln (“ InputBox1 = InputBox (prompt, title, value)”); doc1.writeln (“End Function”); doc1.writeln (“//-->”); doc1.writeln (“</Script>”); doc1.writeln (“</HEAD><BODY></BODY></HTML>”); doc1.close; // close write access return oIE4; } function InputBox (obj, prompt, title, x) { var oIE4doc = obj.Document.Script; var result = oIE4doc.InputBox1(prompt,title,x); return result; } var machines = new ActiveXObject(“WININSTALL.MACHINES”); var machine; var result; WSHShell = WScript.CreateObject(“WScript.Shell”); var mobj = makeInputBox(); var prompt = “Enter the machine name: “; var title = “Running Merge”; var value = “<enter a machine name>”; var result = InputBox(mobj, prompt, title, value); machine = machines.GetMachine(result); 158 WinINSTALL Desktop Management Suite and Desktop Availability Suite Console Scripting ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S if ( machine == null ) WScript.Echo('Machine not Found'); else { WSHShell.Popup(“Running Merge on \\” + result, 0, “Running Merge...”, vbOKOnly + vbInformation); //WScript.Echo('found'); result = machine.RunMerge(); } mobj.Quit(); EXAMPLE 3: PUBLISH var WSHShell; var vbOKCancel = 1; // some helpers var vbOKOnly = 0 var vbInformation = 64; var vbCancel = 2; // our helper function function makeInputBox () { // Create our Internet Browser object var oIE4 = WScript.CreateObject(“InternetExplorer.Application”); oIE4.left=50; // Windows position oIE4.top = 100; oIE4.height = 300; // Windows size oIE4.width = 600; oIE4.menubar = 1; April, 2006 Reference Guide 159 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Console Scripting oIE4.toolbar = 1; oIE4.navigate (“about:blank”); // HTML document with function oIE4.visible = 0; while (oIE4.Busy) // keep MSIE invisible {} // wait till MSIE is ready var doc1 = oIE4.Document; // get the document object doc1.open; // open it // write a script doc1.writeln (“<HTML><HEAD>”); doc1.writeln (“<Script LANGUAGE=\”VBScript\”><!--”); doc1.writeln (“Function InputBox1 (prompt,title, value)”); doc1.writeln (“ InputBox1 = InputBox (prompt, title, value)”); doc1.writeln (“End Function”); doc1.writeln (“//-->”); doc1.writeln (“</Script>”); doc1.writeln (“</HEAD><BODY></BODY></HTML>”); doc1.close; // close write access return oIE4; } function InputBox (obj, prompt, title, x) { var oIE4doc = obj.Document.Script; var result = oIE4doc.InputBox1(prompt,title,x); return result; } var machines = new ActiveXObject(“WININSTALL.MACHINES”); var machine; 160 WinINSTALL Desktop Management Suite and Desktop Availability Suite Console Scripting ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S var result; WSHShell = WScript.CreateObject(“WScript.Shell”); var mobj = makeInputBox(); var prompt = “Enter the machine name: “; var title = “Running Publish”; var value = “<enter a machine name>”; var result = InputBox(mobj, prompt, title, value); machine = machines.GetMachine(result); if ( machine == null ) WScript.Echo('Machine not Found'); else { WSHShell.Popup(“Running Publish on \\” + result, 0, “Running Publish...”, vbOKOnly + vbInformation); //WScript.Echo('found'); result = machine.RunPublish(); } mobj.Quit(); April, 2006 Reference Guide 161 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Console Scripting EXAMPLE 4: START AGENT var WSHShell; var vbOKCancel = 1; // some helpers var vbOKOnly = 0 var vbInformation = 64; var vbCancel = 2; // our helper function function makeInputBox () { // Create our Internet Browser object var oIE4 = WScript.CreateObject(“InternetExplorer.Application”); oIE4.left=50; // Windows position oIE4.top = 100; oIE4.height = 300; // Windows size oIE4.width = 600; oIE4.menubar = 1; oIE4.toolbar = 1; oIE4.navigate (“about:blank”); // HTML document with function oIE4.visible = 0; while (oIE4.Busy) // keep MSIE invisible {} // wait till MSIE is ready var doc1 = oIE4.Document; // get the document object doc1.open; // open it // write a script doc1.writeln (“<HTML><HEAD>”); doc1.writeln (“<Script LANGUAGE=\”VBScript\”><!--”); doc1.writeln (“Function InputBox1 (prompt,title, value)”); 162 WinINSTALL Desktop Management Suite and Desktop Availability Suite Console Scripting ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S doc1.writeln (“ InputBox1 = InputBox (prompt, title, value)”); doc1.writeln (“End Function”); doc1.writeln (“//-->”); doc1.writeln (“</Script>”); doc1.writeln (“</HEAD><BODY></BODY></HTML>”); doc1.close; // close write access return oIE4; } function InputBox (obj, prompt, title, x) { var oIE4doc = obj.Document.Script; var result = oIE4doc.InputBox1(prompt,title,x); return result; } var machines = new ActiveXObject(“WININSTALL.MACHINES”); var machine; var result; WSHShell = WScript.CreateObject(“WScript.Shell”); var mobj = makeInputBox(); var prompt = “Enter the machine name: “; var title = “Start Agent”; var value = “<enter a machine name>”; var result = InputBox(mobj, prompt, title, value); machine = machines.GetMachine(result); April, 2006 Reference Guide 163 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Console Scripting if ( machine == null ) WScript.Echo('Machine not Found'); else { WSHShell.Popup(“Started Agent on \\” + result, 0, “Starting Agent...”, vbOKOnly + vbInformation); //WScript.Echo('found'); result = machine.StartAgent(); } mobj.Quit(); EXAMPLE 5: STOP AGENT var WSHShell; var vbOKCancel = 1; // some helpers var vbOKOnly = 0 var vbInformation = 64; var vbCancel = 2; // our helper function function makeInputBox () { // Create our Internet Browser object var oIE4 = WScript.CreateObject(“InternetExplorer.Application”); 164 WinINSTALL Desktop Management Suite and Desktop Availability Suite Console Scripting oIE4.left=50; ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S // Windows position oIE4.top = 100; oIE4.height = 300; // Windows size oIE4.width = 600; oIE4.menubar = 1; oIE4.toolbar = 1; oIE4.navigate (“about:blank”); // HTML document with function oIE4.visible = 0; while (oIE4.Busy) // keep MSIE invisible {} // wait till MSIE is ready var doc1 = oIE4.Document; // get the document object doc1.open; // open it // write a script doc1.writeln (“<HTML><HEAD>”); doc1.writeln (“<Script LANGUAGE=\”VBScript\”><!--”); doc1.writeln (“Function InputBox1 (prompt,title, value)”); doc1.writeln (“ InputBox1 = InputBox (prompt, title, value)”); doc1.writeln (“End Function”); doc1.writeln (“//-->”); doc1.writeln (“</Script>”); doc1.writeln (“</HEAD><BODY></BODY></HTML>”); doc1.close; // close write access return oIE4; } function InputBox (obj, prompt, title, x) { var oIE4doc = obj.Document.Script; var result = oIE4doc.InputBox1(prompt,title,x); April, 2006 Reference Guide 165 12 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Console Scripting return result; } var machines = new ActiveXObject(“WININSTALL.MACHINES”); var machine; var result; WSHShell = WScript.CreateObject(“WScript.Shell”); var mobj = makeInputBox(); var prompt = “Enter the machine name: “; var title = “Stop Agent”; var value = “<enter a machine name>”; var result = InputBox(mobj, prompt, title, value); machine = machines.GetMachine(result); if ( machine == null ) WScript.Echo('Machine not Found'); else { WSHShell.Popup(“Stopped Agent on \\” + result, 0, “Stopping Agent...”, vbOKOnly + vbInformation); //WScript.Echo('found'); result = machine.StopAgent(); 166 WinINSTALL Desktop Management Suite and Desktop Availability Suite Console Scripting ..... W I N I N S TA L L S C R I P T I N G E X T E N S I O N S } mobj.Quit(); April, 2006 Reference Guide 167 12 168 W I N I N S TA L L S C R I P T I N G E X T E N S I O N S Console Scripting WinINSTALL Desktop Management Suite and Desktop Availability Suite ..... INDEX ..... Index ................................... A Add a Database User 122 Agent Deployment 33 Automatic Installer 14 Automating WinINSTALL Agent Deployment 35 C CA File conflict subcategories and messages 105 CA INI File conflict subcategories and messages 106 CA Registry conflict subcategories and messages 106 CA Shortcut conflict subcategories and messages 106 Client Reset 14, 17 to 20, 23, 26 to 28, 118 Config File Processing Interval 40 Conflict Assessment 121 Console 5 to 6, 13, 17, 21, 33, 103, 115 to 118 Console Log node 115 to 116 Console logging 115 Create Reset Partition application 20 to 21, 26 Crystal Designer 16, 47 D Data Flow to WinINSTALL Database 41 Database 5, 16, 47 to 48, 115 dbAddUser.cmd 122 Discover Wizard 10 G Generating mssecure Files 125 I Installer logging 120 Interactive Installer 14 April, 2006 Reference Guide 169 INDEX L language-specific mssecure.xml 124 Launch 121 M MAC address 103 Machines 17 Main CA Conflict Categories 105 Merge Processing Interval 41 Microsoft Patches 124 mssecure.xml 124 N Network Detection 121 NoNetNoGo.exe 121 NTSVC 121 NTSVC32.exe 122 O Operating System 5 to 9 Oracle 5, 9, 48 to 49 P Patch Management 16 PatchCatalog command syntax 126 PatchCatalog supported languages 127 PatchCatalog.exe 124 Patches 16, 102 R Reference Machine 9 Reference Machine WinINSTALL Database 9 Registry 105 to 106 Replication 42, 118 replication 15, 31 Reports 16 Reset Workstation 22 Reset Workstation application 22 S Sample Packages 129 Secure Manual Deployment 33 SSWNTSVC.exe 122 Supported Database Platforms 47 170 WinINSTALL Desktop Management Suite and Desktop Availability Suite ..... INDEX System-defined Variables 101, 103 T Time 115 to 116 Transaction File Processing Interval 41 U Unicode 22 User-defined Variables 103 W WIBaselineGen.exe 121 WIClient.exe 121 Windows 9x 10, 33, 38 Windows Installer package 10, 12, 102 WinINSTALL Administrator Requirements 11 WinINSTALL Agent 14, 16 to 17, 31, 33, 38, 40 to 41, 47, 115, 117, 119, 121 WinINSTALL Agent logging 119 WinINSTALL Agent Settings dialog 121 WinINSTALL Console 5, 13, 16, 31, 33, 40 WinINSTALL Console Installation Requirements 5 WinINSTALL Database 8, 41, 48 to 49, 115 WinINSTALL database 5, 8, 17, 31, 40 to 41, 47 to 49, 115 to 116, 119 WinINSTALL Database WinINSTALL Database 8 WinINSTALL package 10 WinINSTALL Server 6 WinINSTALL Server Installation Requirements 6 WinINSTALL Share 6, 13, 17, 38, 40 to 41 WinINSTALL share 6, 17, 28, 48 to 49, 102, 121 WinINSTALL Share Installation Requirements 6 WinINSTALL Workstation Installation Requirements 7 wsusscan.cab 124 April, 2006 Reference Guide 171 INDEX 172 WinINSTALL Desktop Management Suite and Desktop Availability Suite