I've my very own way to create packages. I developed a package template that (to me) is very flexible and doesn't need a lot of re-development. I only fill out the neccessary parts and my package is done. For this to work and to have a clear and readable structure, I created several files that include each other. That is why you will not simply find one setup file but several files. You can find each file's short description in the file tree.
By r.witzel 23.01.2014 11.30
Look for “[Winbatch_6_64_install]” and “[Winbatch_6_64_remove]”
Tested with Opsi 4.0.3.1
Tested with winst 4.11.3.6
- none -
No license file is needed. You'll only have to enter licensing information into ConfigEd (or not if you want to run it as demo).
- CLIENT_DATA
|- files (DVD-Content) |-|- 3rdParty |-|- CER |-|- Content |-|- de-DE |-|- en-us |-|- EULA |-|- NLSDL |-|- Setup |-|- SetupRes |-|- x64 |-|- x86 |-|- autorun.inf |-|- MID01.txt |-|- Setup.exe |-|- setup.ini |- autocad_lt_2014.png |- delsub.ins (=> actual delete process) |- setup.ins (=> actual install process) |- sub_gather.ins (=> gather basic information) |- sub_package_info.ins (=> package information) |- sub_properties.ins (=> properties adjusted by ConfigEd) |- uninstall.ins (=> delsub control script)
- OPSI
|- control
[Package] version: 1 depends: incremental: False [Product] type: localboot id: autocad_lt_2014 name: AutoCAD LT 2014 description: CAD Software advice: - version: 19.0.55.0.0 priority: 0 licenseRequired: False productClasses: setupScript: setup.ins uninstallScript: uninstall.ins updateScript: alwaysScript: onceScript: customScript: userLoginScript: [ProductProperty] type: unicode name: create_desktop_shortcut multivalue: False editable: False description: Shall a desktop icon be created? values: ["False", "True"] default: ["True"] [ProductProperty] type: unicode name: serial_prefix multivalue: False editable: True description: The 3 digit serial prefix values: ["-"] default: ["-"] [ProductProperty] type: unicode name: serial_number multivalue: False editable: True description: The 8 digit serial number values: ["-"] default: ["-"] [ProductProperty] type: unicode name: serial_product_key multivalue: False editable: True description: The 5 charachters product key values: ["-"] default: ["-"]
Comment "### Start of delsub.ins ###" ;-- uninstall the product ;------------------------------------------------------------- if ($fatalErrorOccured$ = "false") Message "Un-Installing " + $ProductId$ + " ..." ;-- check the windows version and start the corresponding subs ;------------------------------------------------------------- if ($WinVersion$ >= "6") comment "Delsub.ins::System is Windows 7/Windows Server 2008 or newer" ;-- Windows 7 (or newer), x86 if ($SystemType$ = "x86 System") comment "Delsub.ins::System is a x86 system" comment "Delsub.ins::Start setup program" ;-- start scripts (comment out what you don't need or leave the sub's content empty) Winbatch_6_32_remove Dosbatch_6_32_remove DosInAnIcon_6_32_remove Files_6_32_remove /32Bit Registry_6_32_remove /32Bit LinkFolder_6_32_remove endif ;-- Windows 7 (or newer), x64 if ($SystemType$ = "64 Bit System") comment "Delsub.ins::System is a x64 system" comment "Delsub.ins::Start setup program" ;-- start scripts (comment out what you don't need or leave the sub's content empty) Winbatch_6_64_remove Dosbatch_6_64_remove DosInAnIcon_6_64_remove Files_6_64_remove /64Bit Registry_6_64_remove /64Bit LinkFolder_6_64_remove endif endif if ($WinVersion$ < "6") comment "Delsub.ins::System is Windows XP/Windows Server 2003 or older" ;-- Windows XP (or older), x86 if $SystemType$ = "x86 System" comment "Delsub.ins::System is a x86 system" comment "Delsub.ins::Start setup program" ;-- start scripts (comment out what you don't need or leave the sub's content empty) Winbatch_5_32_remove Dosbatch_5_32_remove DosInAnIcon_5_32_remove Files_5_32_remove /32Bit Registry_5_32_remove /32Bit LinkFolder_5_32_remove endif ;-- Windows XP (or older), x64 if ($SystemType$ = "64 Bit System") comment "Delsub.ins::System is a x64 system" comment "Delsub.ins::Start setup program" ;-- start scripts (comment out what you don't need or leave the sub's content empty) Winbatch_5_64_remove Dosbatch_5_64_remove DosInAnIcon_5_64_remove Files_5_64_remove /64Bit Registry_5_64_remove /64Bit LinkFolder_5_64_remove endif endif ;-- check if the program installed properly ;------------------------------------------------------------- Sub_check_exitcode endif ;------------------------------------------------------------- ;-- subs for running the actual setup ;------------------------------------------------------------- [Winbatch_6_32_remove] msiexec /x "%ScriptPath%\files\x64\acadlt\acadlt.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\Components\Cloudsync\AdSync.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\Tools\snap\ContentService.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\ILB\BaseImageLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\CM\MaterialLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\Aclt\Setup\de-DE\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\Aclt\Setup\en-us\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\3rdParty\x64\msxml6\msxml6_x64.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\acadlt\acadlt.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\Components\Cloudsync\AdSync.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\Tools\snap\ContentService.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\ILB\BaseImageLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\CM\MaterialLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\Aclt\Setup\de-DE\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\Aclt\Setup\en-us\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\3rdParty\x86\msxml6\msxml6.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Components\adr2013\SetupDesignReview2013.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Components\adr2013\program files\Autodesk\Autodesk Design Review 2013\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Components\adr2013\SetupDesignReview2013.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Components\adr2013\program files\Autodesk\Autodesk Design Review 2013\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress [Winbatch_6_64_remove] msiexec /x "%ScriptPath%\files\x64\acadlt\acadlt.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\Components\Cloudsync\AdSync.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\Tools\snap\ContentService.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\ILB\BaseImageLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\CM\MaterialLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\Aclt\Setup\de-DE\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\Aclt\Setup\en-us\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\3rdParty\x64\msxml6\msxml6_x64.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\acadlt\acadlt.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\Components\Cloudsync\AdSync.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\Tools\snap\ContentService.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\ILB\BaseImageLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\CM\MaterialLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\Aclt\Setup\de-DE\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\Aclt\Setup\en-us\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\3rdParty\x86\msxml6\msxml6.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Components\adr2013\SetupDesignReview2013.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Components\adr2013\program files\Autodesk\Autodesk Design Review 2013\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Components\adr2013\SetupDesignReview2013.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Components\adr2013\program files\Autodesk\Autodesk Design Review 2013\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress [Winbatch_5_32_remove] msiexec /x "%ScriptPath%\files\x64\acadlt\acadlt.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\Components\Cloudsync\AdSync.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\Tools\snap\ContentService.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\ILB\BaseImageLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\CM\MaterialLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\Aclt\Setup\de-DE\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\Aclt\Setup\en-us\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\3rdParty\x64\msxml6\msxml6_x64.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\acadlt\acadlt.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\Components\Cloudsync\AdSync.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\Tools\snap\ContentService.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\ILB\BaseImageLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\CM\MaterialLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\Aclt\Setup\de-DE\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\Aclt\Setup\en-us\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\3rdParty\x86\msxml6\msxml6.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Components\adr2013\SetupDesignReview2013.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Components\adr2013\program files\Autodesk\Autodesk Design Review 2013\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Components\adr2013\SetupDesignReview2013.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Components\adr2013\program files\Autodesk\Autodesk Design Review 2013\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress [Winbatch_5_64_remove] msiexec /x "%ScriptPath%\files\x64\acadlt\acadlt.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\Components\Cloudsync\AdSync.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\Tools\snap\ContentService.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\ILB\BaseImageLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\CM\MaterialLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\Aclt\Setup\de-DE\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\de-DE\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\Aclt\Setup\en-us\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x64\en-US\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\3rdParty\x64\msxml6\msxml6_x64.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\acadlt\acadlt.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\Components\Cloudsync\AdSync.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\Tools\snap\ContentService.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\ILB\BaseImageLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\Content\ADSKMaterials\2014\CM\MaterialLibrary2014.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\Aclt\Setup\de-DE\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\AcadltLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\AcadltPS.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Tools\CADManager\CADManager.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Tools\snap\ContentServiceLP.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Tools\NLM\NLM.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\Aclt\Setup\en-us\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\acadlt\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\3rdParty\x86\msxml6\msxml6.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Components\adr2013\SetupDesignReview2013.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\de-DE\Components\adr2013\program files\Autodesk\Autodesk Design Review 2013\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Components\adr2013\SetupDesignReview2013.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\x86\en-US\Components\adr2013\program files\Autodesk\Autodesk Design Review 2013\Setup\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress msiexec /x "%ScriptPath%\files\SetupRes\eval.msi" /qb- REBOOT=ReallySuppress [Dosbatch_6_32_remove] [Dosbatch_6_64_remove] [Dosbatch_5_32_remove] [Dosbatch_5_64_remove] [DosInAnIcon_6_32_remove] [DosInAnIcon_6_64_remove] [DosInAnIcon_5_32_remove] [DosInAnIcon_5_64_remove] [Files_6_32_remove] [Files_6_64_remove] [Files_5_32_remove] [Files_5_64_remove] [Registry_6_32_remove] [Registry_6_64_remove] [Registry_5_32_remove] [Registry_5_64_remove] [LinkFolder_6_32_remove] [LinkFolder_6_64_remove] [LinkFolder_5_32_remove] [LinkFolder_5_64_remove] [Sub_check_exitcode] comment "Delsub.ins::Test for installation success via exit code" set $ExitCode$ = getLastExitCode ; informations to exit codes see ; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx ; http://msdn.microsoft.com/en-us/library/aa368542.aspx if ($ExitCode$ = "0") comment "Delsub.ins::Looks good: setup program gives exitcode zero" else comment "Delsub.ins::Setup program gives a exitcode unequal zero: " + $ExitCode$ if ($ExitCode$ = "1605") comment "Delsub.ins::ERROR_UNKNOWN_PRODUCT 1605 This action is only valid for products that are currently installed." comment "Delsub.ins::Uninstall of a not installed product failed - no problem" else if ($ExitCode$ = "1641") comment "Delsub.ins::looks good: setup program gives exitcode 1641" comment "Delsub.ins::ERROR_SUCCESS_REBOOT_INITIATED 1641 The installer has initiated a restart. This message is indicative of a success." else if ($ExitCode$ = "3010") comment "Delsub.ins::looks good: setup program gives exitcode 3010" comment "Delsub.ins::ERROR_SUCCESS_REBOOT_REQUIRED 3010 A restart is required to complete the install. This message is indicative of a success." else logError "Delsub.ins::Fatal: Setup program gives an unknown exitcode unequal zero: " + $ExitCode$ isFatalError endif endif endif endif
[Actions] requiredWinstVersion >= "4.11.1.2" Comment "### Start of setup.ins ###" ; ---------------------------------------------------------------- ; -- Available variables in script (after prerequisites) ; ---------------------------------------------------------------- ;-- $WinVersion$ => Windows Version (6.0, 6.1, ...) ;-- $SystemType$ => "x86 System", "64 Bit System" ;-- $UserName$ => Logged on user's name ;-- $UserSID$ => Logged on user's SID ;-- $UserContext$ => optionaler Kommandozeilenparameter (winst) ;-- $ScriptMode$ => run by "Machine" or "Login" ;-- $OS$ => running OS ;-- $NTVersion$ => NT version ;-- $MsiId$ => MSI-ID ;-- $UninstallProgram$ => Path to uninstaller ;-- $LogDir$ => Path to log to ;-- $ProductId$ => Name of the product ;-- $MinimumSpace$ => min. required space on hard drive ;-- $InstallDir$ => Path to the installed product ;-- $ExitCode$ => last registered exit code ;-- $LicenseRequired$ => is a license required? ;-- $LicenseKey$ => determined license key ;-- $LicensePool$ => license pool to search in ; ---------------------------------------------------------------- ; -- set some variables ; ---------------------------------------------------------------- DefVar $fatalErrorOccured$ DefVar $run_delsub$ Set $fatalErrorOccured$ = "false" Set $run_delsub$ = "true" ; ---------------------------------------------------------------- ; -- load the prerequisites ; ---------------------------------------------------------------- ;-- get the package information ;------------------------------------------------------------- if ($fatalErrorOccured$ = "false") if FileExists("%ScriptPath%\sub_package_info.ins") Sub "%ScriptPath%\sub_package_info.ins" else LogError "Setup.ins::Could not load sub_package_info.ins" $faltalErrorOccured$ = "true" isFatalError endif endif ;-- gather basic data, like the windows version ;------------------------------------------------------------- if ($fatalErrorOccured$ = "false") if FileExists("%ScriptPath%\sub_gather.ins") Sub "%ScriptPath%\sub_gather.ins" else LogError "Setup.ins::Could not load sub_gather.ins" $fatalErrorOccured$ = "true" isFatalError endif endif ;-- gather product properties ;------------------------------------------------------------- if ($fatalErrorOccured$ = "false") if FileExists("%ScriptPath%\sub_properties.ins") Sub "%ScriptPath%\sub_properties.ins" else LogError "Setup.ins::Could not load sub_properties.ins" $fatalErrorOccured$ = "true" isFatalError endif endif ; ---------------------------------------------------------------- ; -- check if we have enough space to install ; ---------------------------------------------------------------- if ($fatalErrorOccured$ = "false") if not(HasMinimumSpace ("%SystemDrive%", $MinimumSpace$)) LogError "Setup.ins::Not enough space on %SystemDrive%, " + $MinimumSpace$ + " on drive %SystemDrive% needed for " + $ProductId$ $fatalErrorOccured$ = "true" isFatalError endif endif ; ---------------------------------------------------------------- ; -- start the setup process ; ---------------------------------------------------------------- Message "Preparing " + $ProductId$ + " ..." ;-- show the product picture ;------------------------------------------------------------- if ($fatalErrorOccured$ = "false") if FileExists("%ScriptPath%\" + $ProductId$ + ".png") ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$ else LogError "Setup.ins::%ScriptPath%\" + $ProductId$ + ".png not found" endif endif ;-- check if the Product needs a license key ;------------------------------------------------------------- if ($LicenseRequired$ = "true") Sub_get_licensekey endif ;-- uninstall the product ;------------------------------------------------------------- if ($fatalErrorOccured$ = "false") if $CheckUninstallProgram$ = "true" if FileExists($UninstallProgram$) Set $run_delsub$ = "true" else Set $run_delsub$ = "false" comment "setup.ins:: " + $UninstallProgram$ + " not found, skipping delsub.ins" endif else Set $run_delsub$ = "true" endif endif if $run_delsub$ = "true" if FileExists("%ScriptPath%\delsub.ins") Sub "%ScriptPath%\delsub.ins" else LogError "Setup.ins::%ScriptPath%\delsub.ins not found!" endif endif ;-- install the product ;------------------------------------------------------------- if ($fatalErrorOccured$ = "false") Message "Installing " + $ProductId$ + " ..." ;-- check the windows version and start the corresponding subs ;------------------------------------------------------------- if ($WinVersion$ >= "6") comment "Setup.ins::System is Windows 7/Windows Server 2008 or newer" ;-- Windows 7 (or newer), x86 if $SystemType$ = "x86 System" comment "Setup.ins::System is a x86 system" comment "Setup.ins::Start setup program" ;-- start scripts (comment out what you don't need or leave the sub's content empty) Winbatch_6_32_install Dosbatch_6_32_install DosInAnIcon_6_32_install Files_6_32_install /32Bit Registry_6_32_install /32Bit LinkFolder_6_32_install endif ;-- Windows 7 (or newer), x64 if ($SystemType$ = "64 Bit System") comment "Setup.ins::System is a x64 system" comment "Setup.ins::Start setup program" ;-- start scripts (comment out what you don't need or leave the sub's content empty) Winbatch_6_64_install Dosbatch_6_64_install DosInAnIcon_6_64_install Files_6_64_install /64Bit Registry_6_64_install /64Bit LinkFolder_6_64_install endif endif if ($WinVersion$ < "6") comment "Setup.ins::System is Windows XP/Windows Server 2003 or older" ;-- Windows XP (or older), x86 if ($SystemType$ = "x86 System") comment "Setup.ins::System is a x86 system" comment "Setup.ins::Start setup program" ;-- start scripts (comment out what you don't need or leave the sub's content empty) Winbatch_5_32_install Dosbatch_5_32_install DosInAnIcon_5_32_install Files_5_32_install /32Bit Registry_5_32_install /32Bit LinkFolder_5_32_install endif ;-- Windows XP (or older), x64 if ($SystemType$ = "64 Bit System") comment "Setup.ins::System is a x64 system" comment "Setup.ins::Start setup program" ;-- start scripts (comment out what you don't need or leave the sub's content empty) Winbatch_5_64_install Dosbatch_5_64_install DosInAnIcon_5_64_install Files_5_64_install /64Bit Registry_5_64_install /64Bit LinkFolder_5_64_install endif endif ;-- check if the program installed properly ;------------------------------------------------------------- Sub_check_exitcode endif ;------------------------------------------------------------- ;-- subs for running the actual setup ;------------------------------------------------------------- [Winbatch_6_32_install] "%ScriptPath%\files\setup.exe" /w /t /qb "%ScriptPath%\files\setup.ini" /Lang de-DE /c ACADLT: INSTALLDIR="%ProgramFiles%\Autodesk\AutoCAD LT 2014\" InstallLevel=3 ADSK_EULA_STATUS=#0 ALLUSERS=1 ADSK_DESKTOPSHORTCUT_1=$prop_create_desktop_shortcut$ $prop_serial_prefix$ $prop_serial_number$ $prop_serial_product_key$ [Winbatch_6_64_install] "%ScriptPath%\files\setup.exe" /w /t /qb "%ScriptPath%\files\setup.ini" /Lang de-DE /c ACADLT: INSTALLDIR="%ProgramFiles%\Autodesk\AutoCAD LT 2014\" InstallLevel=3 ADSK_EULA_STATUS=#0 ALLUSERS=1 ADSK_DESKTOPSHORTCUT_1=$prop_create_desktop_shortcut$ $prop_serial_prefix$ $prop_serial_number$ $prop_serial_product_key$ [DosInAnIcon_6_32_install] [DosInAnIcon_6_64_install] [Files_6_32_install] [Files_6_64_install] [Registry_6_32_install] [Registry_6_64_install] [LinkFolder_6_32_install] [LinkFolder_6_64_install] ;------------------------------------------------------------- ;-- sub for checking the exit code ;------------------------------------------------------------- [Sub_check_exitcode] comment "Setup.ins::Test for installation success via exit code" set $ExitCode$ = getLastExitCode ; for information about exit codes see ; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx ; http://msdn.microsoft.com/en-us/library/aa368542.aspx if ($ExitCode$ = "0") comment "Setup.ins::OK: setup program gives exitcode 0" else comment "Setup.ins::Setup program gives a exitcode unequal 0: " + $ExitCode$ if ($ExitCode$ = "1605") comment "=> Setup.ins::ERROR_UNKNOWN_PRODUCT 1605 (This action is only valid for products that are currently installed.)" comment "==> Setup.ins::Uninstall of a not installed product failed - no problem" else if ($ExitCode$ = "1641") comment "Setup.ins::OK: setup program gives exitcode 1641" comment "=> Setup.ins::ERROR_SUCCESS_REBOOT_INITIATED 1641 (The installer has initiated a restart. This message is indicative of a success.)" else if ($ExitCode$ = "3010") comment "Setup.ins::OK: setup program gives exitcode 3010" comment "=> Setup.ins::ERROR_SUCCESS_REBOOT_REQUIRED 3010 (A restart is required to complete the install. This message is indicative of a success.)" else logError "Setup.ins::Fatal: Setup program gives an unknown exitcode unequal 0: " + $ExitCode$ isFatalError endif endif endif endif ;------------------------------------------------------------- ;-- sub for checking the license ;------------------------------------------------------------- [Sub_get_licensekey] if opsiLicenseManagementEnabled comment "Setup.ins::License management is enabled and will be used" comment "Setup.ins::Trying to get a license key" Set $LicenseKey$ = demandLicenseKey ($LicensePool$) ; If there is an assignment of exactly one licensepool to the product the following call is possible: ; Set $LicenseKey$ = demandLicenseKey ("", $ProductId$) ; ; If there is an assignment of a license pool to a windows software id, it is possible to use: ; DefVar $WindowsSoftwareId$ ; $WindowsSoftwareId$ = "..." ; Set $LicenseKey$ = demandLicenseKey ("", "", $WindowsSoftwareId$) DefVar $ServiceErrorClass$ set $ServiceErrorClass$ = getLastServiceErrorClass comment "Setup.ins::Error class: " + $ServiceErrorClass$ if $ServiceErrorClass$ = "None" comment "Setup.ins::Everything fine, we got the license key '" + $LicenseKey$ + "'" else if $ServiceErrorClass$ = "LicenseConfigurationError" LogError "Setup.ins::Fatal: license configuration must be corrected" LogError getLastServiceErrorMessage isFatalError else if $ServiceErrorClass$ = "LicenseMissingError" LogError "Setup.ins::Fatal: required license is not supplied" isFatalError endif endif endif else LogError "Setup.ins::Fatal: license required, but license management not enabled" isFatalError endif
Comment "### Start of sub_gather.ins ###" ; ---------------------------------------------------------------- ; -- define the needed variables ; ---------------------------------------------------------------- DefVar $WinVersion$ DefVar $SystemType$ DefVar $UserName$ DefVar $UserSID$ DefVar $UserContext$ DefVar $ScriptMode$ DefVar $OS$ DefVar $NTVersion$ ; ---------------------------------------------------------------- ; -- get the needed data ; ---------------------------------------------------------------- Set $WinVersion$ = GetMsVersionInfo Set $SystemType$ = GetSystemType Set $UserName$ = GetLoggedInUser Set $UserSID$ = GetUserSID($UserName$) Set $UserContext$ = GetUserContext Set $ScriptMode$ = GetScriptMode Set $OS$ = GetOS Set $NTVersion$ = GetMSVersionInfo
Comment "### Start of sub_package_info.ins ###" ; ---------------------------------------------------------------- ; -- define the needed variables ; ---------------------------------------------------------------- DefVar $MsiId$ DefVar $UninstallProgram$ DefVar $CheckUninstallProgram$ DefVar $LogDir$ DefVar $ProductId$ DefVar $MinimumSpace$ DefVar $InstallDir$ DefVar $ExitCode$ DefVar $LicenseRequired$ DefVar $LicenseKey$ DefVar $LicensePool$ ; ---------------------------------------------------------------- ; -- edit the following values ; ---------------------------------------------------------------- ;-- where should the log be written to Set $LogDir$ = "%SystemDrive%\tmp" ;-- name of the package (lower letters, no umlauts, no white spaces) Set $ProductId$ = "autocad_lt_2014" ;-- minimal required disk space Set $MinimumSpace$ = "700 MB" ;-- where does the programm install to Set $InstallDir$ = "%ProgramFiles32Dir%\Autodesk\AutoCAD LT 2014" if FileExists("%ProgramFiles64Dir%\Autodesk\AutoCAD LT 2014") Set $InstallDir$ = "%ProgramFiles64Dir%\Autodesk\AutoCAD LT 2014" endif if FileExists("%ProgramFiles32Dir%\Autodesk\AutoCAD LT 2014") Set $InstallDir$ = "%ProgramFiles32Dir%\Autodesk\AutoCAD LT 2014" endif Set $UninstallProgram$ = "" ;-- is uninstall (delsub.ins) only supposed to run, when the UninstallProgramm exists? Set $CheckUninstallProgram$ = "false" ;-- if a license is required, fill in "true", elsewise use "false" Set $LicenseRequired$ = "false" Set $LicensePool$ = "p_" + $ProductId$ ;-- MSI Set $MsiId$ = ''
Comment "### Start of sub_properties.ins ###" ; ---------------------------------------------------------------- ; -- define the needed variables ; ---------------------------------------------------------------- DefVar $prop_create_desktop_shortcut$ DefVar $prop_serial_prefix$ DefVar $prop_serial_number$ DefVar $prop_serial_product_key$ ; ---------------------------------------------------------------- ; -- load the needed properties ; ---------------------------------------------------------------- Set $prop_create_desktop_shortcut$ = getProductProperty("create_desktop_shortcut", "False") Set $prop_serial_prefix$ = getProductProperty("serial_prefix", "-") Set $prop_serial_number$ = getProductProperty("serial_number", "-") Set $prop_serial_product_key$ = getProductProperty("serial_product_key", "-") if ($prop_create_desktop_shortcut$ = "False") Set $prop_create_desktop_shortcut$ = "0" else Set $prop_create_desktop_shortcut$ = "1" endif if ($prop_serial_prefix$ = "-") Set $prop_serial_prefix$ = "" else Set $prop_serial_prefix$ = "ACADSERIALPREFIX=" + $prop_serial_prefix$ endif if ($prop_serial_number$ = "-") Set $prop_serial_number$ = "" else Set $prop_serial_number$ = "ACADSERIALNUMBER=" + $prop_serial_number$ endif if ($prop_serial_product_key$ = "-") Set $prop_serial_product_key$ = "" else Set $prop_serial_product_key$ = "ADLM_PRODKEY=" + $prop_serial_product_key$ endif
[Actions] requiredWinstVersion >= "4.11.1.2" Comment "### Start of uninstall.ins ###" ; ---------------------------------------------------------------- ; -- Available variables in script (after prerequisites) ; ---------------------------------------------------------------- ;-- $WinVersion$ => Windows Version (6.0, 6.1, ...) ;-- $SystemType$ => "x86 System", "64 Bit System" ;-- $UserName$ => Logged on user's name ;-- $UserSID$ => Logged on user's SID ;-- $UserContext$ => optionaler Kommandozeilenparameter (winst) ;-- $ScriptMode$ => run by "Machine" or "Login" ;-- $OS$ => running OS ;-- $NTVersion$ => NT version ;-- $MsiId$ => MSI-ID ;-- $UninstallProgram$ => Path to uninstaller ;-- $LogDir$ => Path to log to ;-- $ProductId$ => Name of the product ;-- $MinimumSpace$ => min. required space on hard drive ;-- $InstallDir$ => Path to the installed product ;-- $ExitCode$ => last registered exit code ;-- $LicenseRequired$ => is a license required? ;-- $LicenseKey$ => determined license key ;-- $LicensePool$ => license pool to search in ; ---------------------------------------------------------------- ; -- set some variables ; ---------------------------------------------------------------- DefVar $fatalErrorOccured$ DefVar $run_delsub$ Set $fatalErrorOccured$ = "false" Set $run_delsub$ = "true" ; ---------------------------------------------------------------- ; -- load the prerequisites ; ---------------------------------------------------------------- ;-- get the package information ;------------------------------------------------------------- if ($fatalErrorOccured$ = "false") if FileExists("%ScriptPath%\sub_package_info.ins") Sub "%ScriptPath%\sub_package_info.ins" else LogError "Uninstall.ins::Could not load sub_package_info.ins" $faltalErrorOccured$ = "true" isFatalError endif endif ;-- gather basic data, like the windows version ;------------------------------------------------------------- if ($fatalErrorOccured$ = "false") if FileExists("%ScriptPath%\sub_gather.ins") Sub "%ScriptPath%\sub_gather.ins" else LogError "Uninstall.ins::Could not load sub_gather.ins" $fatalErrorOccured$ = "true" isFatalError endif endif ;-- gather product properties ;------------------------------------------------------------- if ($fatalErrorOccured$ = "false") if FileExists("%ScriptPath%\sub_properties.ins") Sub "%ScriptPath%\sub_properties.ins" else LogError "Uninstall.ins::Could not load sub_properties.ins" $fatalErrorOccured$ = "true" isFatalError endif endif ; ---------------------------------------------------------------- ; -- start the setup process ; ---------------------------------------------------------------- ;-- show the product picture ;------------------------------------------------------------- if ($fatalErrorOccured$ = "false") if FileExists("%ScriptPath%\" + $ProductId$ + ".png") ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$ else LogError "Uninstall.ins::%ScriptPath%\" + $ProductId$ + ".png not found" endif endif ;-- check if the Product needs a license key ;------------------------------------------------------------- if ($LicenseRequired$ = "true") Sub_free_license endif ;-- uninstall the product ;------------------------------------------------------------- if ($fatalErrorOccured$ = "false") if $CheckUninstallProgram$ = "true" if FileExists($UninstallProgram$) Set $run_delsub$ = "true" else Set $run_delsub$ = "false" comment "uninstall.ins:: " + $UninstallProgram$ + " not found, skipping delsub.ins" endif else Set $run_delsub$ = "true" endif endif if $run_delsub$ = "true" if FileExists("%ScriptPath%\delsub.ins") Sub "%ScriptPath%\delsub.ins" else LogError "uninstall.ins::%ScriptPath%\delsub.ins not found!" endif endif [Sub_free_license] if opsiLicenseManagementEnabled comment "Uninstall.ins::License management is enabled and will be used" comment "Uninstall.ins::Trying to free license used for the product" DefVar $result$ Set $result$ = FreeLicense($LicensePool$) ; If there is an assignment of a license pool to the product, it is possible to use ; Set $result$ = FreeLicense("", $ProductId$) ; ; If there is an assignment of a license pool to a windows software id, it is possible to use ; DefVar $WindowsSoftwareId$ ; $WindowsSoftwareId$ = "..." ; set $result$ = FreeLicense("", "", $WindowsSoftwareId$) else LogError "Uninstall.ins::Error: licensing required, but license management not enabled" isFatalError endif