Leaderboard
Popular Content
Showing content with the highest reputation on 02/28/2017 in all areas
-
Hello. I did create these few functions several months ago. I post here, if it can interest someone. These functions based on WMI queries allow you to manage printers : add / delete printer, driver, port, or obtain configuration, set default printer ... I let you discover it with the code. Here is the list of the available functions : _PrintMgr_AddLocalPort _PrintMgr_AddLPRPort _PrintMgr_AddPrinter _PrintMgr_AddPrinterDriver _PrintMgr_AddTCPIPPrinterPort _PrintMgr_AddWindowsPrinterConnection _PrintMgr_CancelAllJobs _PrintMgr_CancelPrintJob _PrintMgr_EnumPorts _PrintMgr_EnumPrinter _PrintMgr_EnumPrinterConfiguration _PrintMgr_EnumPrinterDriver _PrintMgr_EnumPrinterProperties _PrintMgr_EnumPrintJobs _PrintMgr_EnumTCPIPPrinterPort _PrintMgr_Pause _PrintMgr_PortExists _PrintMgr_PrinterExists _PrintMgr_PrinterSetComment _PrintMgr_PrinterSetDriver _PrintMgr_PrinterSetPort _PrintMgr_PrinterShare _PrintMgr_PrintTestPage _PrintMgr_RemoveLocalPort _PrintMgr_RemoveLPRPort _PrintMgr_RemovePrinter _PrintMgr_RemovePrinterDriver _PrintMgr_RemoveTCPIPPrinterPort _PrintMgr_RenamePrinter _PrintMgr_Resume _PrintMgr_SetDefaultPrinter And some examples : #include <Array.au3> #include "PrintMgr.au3" _Example() Func _Example() ; Remove a printer called "My old Lexmark printer" : _PrintMgr_RemovePrinter("My old Lexmark printer") ; Remove the driver called "Lexmark T640" : _PrintMgr_RemovePrinterDriver("Lexmark T640") ; Remove the TCP/IP printer port called "TCP/IP" _PrintMgr_RemoveTCPIPPrinterPort("MyOLDPrinterPort") ; Add a driver, called "Samsung ML-451x 501x Series", and driver inf file is ".\Samsung5010\sse2m.inf" _PrintMgr_AddPrinterDriver("Samsung ML-451x 501x Series", "Windows NT x86", @ScriptDir & "\Samsung5010", @ScriptDir & "\Samsung5010\sse2m.inf") ; Add a TCP/IP printer port, called "MyTCPIPPrinterPort", with IPAddress = 192.168.1.10 and Port = 9100 _PrintMgr_AddTCPIPPrinterPort("MyTCPIPPrinterPort", "192.168.1.10", 9100) ; Add a printer, give it the name "My Printer", use the driver called "Samsung ML-451x 501x Series" and the port called "MyTCPIPPrinterPort" _PrintMgr_AddPrinter("My Printer", "Samsung ML-451x 501x Series", "MyTCPIPPrinterPort") ; Set the printer called "My Printer" as default printer _PrintMgr_SetDefaultPrinter("My Printer") ; Connect to the shared printer "\\192.168.1.1\HPDeskjetColor") _PrintMgr_AddWindowsPrinterConnection("\\192.168.1.1\HPDeskjetColor") ; List all installed printers Local $aPrinterList = _PrintMgr_EnumPrinter() _ArrayDisplay($aPrinterList) ; List all printers configuration Local $aPrinterConfig = _PrintMgr_EnumPrinterConfiguration() _ArrayDisplay($aPrinterConfig) ; List all installed printer drivers Local $aDriverList = _PrintMgr_EnumPrinterDriver() _ArrayDisplay($aDriverList) ; Retrieve the printer configuration for the printer called "Lexmark T640" $aPrinterConfig = _PrintMgr_EnumPrinterConfiguration("Lexmark T640") _ArrayDisplay($aPrinterConfig) ; Add a local printer port (for a file output) _PrintMgr_AddLocalPort("c:\temp\output.pcl") ; Remove the local port _PrintMgr_RemoveLocalPort("c:\temp\output.pcl") ; Enum a print job Local $aJobList = _PrintMgr_EnumPrintJobs() _ArrayDisplay($aJobList) EndFunc ;==>_Example Download link : PrintMgr_Example.au3 PrintMgr.au31 point
-
Version 1.7.0.1
10,054 downloads
Extensive library to control and manipulate Microsoft Outlook. This UDF holds the functions to automate items (folders, mails, contacts ...) in the background. Can be seen like an API. There are other UDFs available to automate Outlook: OutlookEX_GUI: This UDF holds the functions to automate the Outlook GUI. OutlookTools: Allows to import/export contacts and events to VCF/ICS files and much more. Threads: Development - General Help & Support - Example Scripts - Wiki BTW: If you like this UDF please click the "I like this" button. This tells me where to next put my development effort KNOWN BUGS (last changed: 2020-02-09) None1 point -
NNTP_NewsReader_v1.00
argumentum reacted to ripdad for a topic
Program Operation 1. Select news group 2. Double-click on any article to read Colors in Listview Light Green = New Topic Light Red = Last Article from previous session - Read Only (does not support post) - Please let me know if you have any troubles with the script. (Tested on WinXP and Win7) March 01, 2017 - Version 1.00 NNTP_NewsReader_v1.00.au3 -1 point -
You could also do it like so: $sString = "" $sString &= "CommonShell Command Line Scanner Lite (VSCORE.15.5.0.3960)" & @LF $sString &= " Engine version: 5800.7501" & @LF $sString &= " DAT version: 8450.0" & @LF $sString &= " Time required: 15 milliseconds" & @LF $aString = StringSplit($sString, @LF) For $i = 1 To $aString[0] If StringInStr($aString[$i], "DAT Version:") Then $sDATVersion = StringStripWS(StringReplace($aString[$i], "DAT Version:", ""), 8) Next ConsoleWrite($sDATVersion & @CRLF)1 point
-
1 point
-
error: _ExcelBookOpen() undefined function
YashShrivastava reacted to water for a topic
The Excel UDF has been rewritten and function names have changed. Please check the Changelog or the detailed description.1 point -
Your confirm exit function could use some work. See this example. #include <MsgBoxConstants.au3> Global $ubound = 5 * @DesktopRefresh _Init() Func _Init() ProgressOn("Pretending to do some work.", "", "This is an example script. Press esc to exit.") HotKeySet("{esc}", "_ConfirmExit") EndFunc ;==>_Init While 1 For $i = 1 To $ubound ProgressSet($i / $ubound * 100) Sleep(1000 / @DesktopRefresh) Next Sleep(550) WEnd Func _ConfirmExit() HotKeySet("{esc}") ProgressOff() If MsgBox(BitOR($MB_YESNO, $MB_SETFOREGROUND), @ScriptName, "Are you sure you want to exit?") = $IDYES Then Exit Else _Init() EndIf EndFunc ;==>_ConfirmExit1 point
-
Save created file in multiple folders
KickStarter15 reacted to Subz for a topic
You mean like this: #include <GUIConstants.au3> #include <File.au3> #include <FileConstants.au3> Local $sSavePath = "D:\Programs\Test\" If FileExists($sSavePath) = 0 Then DirCreate($sSavePath) Local $sSteps = "" $sSteps &= "Step1: Word Count" $sSteps &= "Step2: Word Count" $sSteps &= "Step3: Word Count" $sSteps &= "Step4: Word Count" $hGUI = GUICreate("Do Some Stuff", 202, 95, -1, -1) $idUserIds = GUICtrlCreateInput("dthomas;atorres;kfua", 8, 8, 185, 21) $idSave = GUICtrlCreateButton("Save", 8, 65, 57, 25, 0) GUISetState() While 1 $msg = GUIGetMsg() Switch $msg Case $GUI_EVENT_CLOSE Exit Case $idSave UserWrite() MsgBox("","","Done!") Exit EndSwitch WEnd Func UserWrite() $aInput = StringSplit(GUICtrlRead($idUserIds), ';') For $i = 1 To $aInput[0] $hFileOpen = FileOpen($sSavePath & $aInput[$i] & "\" & $ainput[$i] & "_Instructions", 10) FileWrite($hFileOpen, $sSteps) FileClose($hFileOpen) Next EndFunc1 point -
Is this a Win 10 thing?
careca reacted to bweather04 for a topic
#region --- Au3Recorder generated code Start (v3.3.9.5 KeyboardLayout=00000409) --- Opt("TrayIconDebug", 1) ;0=no info, 1=debug line info Func _Au3RecordSetup() Opt('WinWaitDelay',100) Opt('WinDetectHiddenText',1) Opt('MouseCoordMode',0) Local $aResult = DllCall('User32.dll', 'int', 'GetKeyboardLayoutNameW', 'wstr', '') If $aResult[1] <> '00000409' Then MsgBox(64, 'Warning', 'Recording has been done under a different Keyboard layout' & @CRLF & '(00000409->' & $aResult[1] & ')') EndIf EndFunc Func _WinWaitActivate($title,$text,$timeout=0) WinWait($title,$text,$timeout) If Not WinActive($title,$text) Then WinActivate($title,$text) WinWaitActive($title,$text,$timeout) EndFunc _AU3RecordSetup() #endregion --- Internal functions Au3Recorder End --- _WinWaitActivate("[class:WorkerW]","") MouseClick("left",650,44,2) _WinWaitActivate("Kronos Workforce Central(R) - Microsoft Edge","") MouseClick("left",141,186,1) MouseUp("left") MouseClick("left",1184,21,1) #endregion --- Au3Recorder generated code End --- Got it! THANK YOU FOR THE PROPER CLASS NAME!! @careca1 point -
Thank you for this simple tutorial. Helped me understand accelerators better. One more question I have is that HotKey allowed me to exit right away, regardless of what the program was doing. I am assuming that it is not possible to do so with Accelerators? I ran backup function and hit the ESC key, nothing happened. I assumed it was waiting for copy to finish before it can run the exit function? If that's the case, is HotKey my only way out?1 point
-
Accelerator keys work on controls, not on functions. You have to create a control for it to action, and a function associated with that control. Something like this, $id_Dummy = GUICtrlCreateDummy() ; <<<<<<<<<<<<<<<<<<<< GUICtrlSetOnEvent($id_Dummy, "terminate") ; <<<<<<<<<<<<<<<<<<<< ;================ > HotKeySet('{ESC}', "terminate") GUICtrlSetOnEvent($B_backup, "Backup") GUICtrlSetOnEvent($B_restore, "Restore") GUISetState(@SW_SHOW) Dim $accelKey[1][2] = [["{ESC}", $id_Dummy] ; <<<<<<<<<<<<<<<< GUISetAccelerators($accelKey)1 point
-
ListView: Drag and drop to change items order
Ascer reacted to AndrewDaoust for a topic
Here is an example that doesn't use somebody else's UDF. #include <GUIConstants.au3> #include <GuiListView.au3> #include <misc.au3> Opt("GUIOnEventMode", 1); GUICreate("", 200, 400) GUISetState(@SW_SHOW) $Listview = GUICtrlCreateListView("filename", 0, 0, 200, 400); _GUICtrlListView_SetExtendedListViewStyle($Listview, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_CHECKBOXES)) GUISetOnEvent($GUI_EVENT_CLOSE, "_Close") GUISetOnEvent($GUI_EVENT_PRIMARYDOWN,"_Arrange_List") _Create_List() While True Sleep(200) WEnd Func _Create_List() Local $Item While $Item <> "XXXXXXXX" $Item = $Item & "X" GUICtrlCreateListViewItem($Item, $Listview) Wend Endfunc Func _Arrange_List() $Selected = _GUICtrlListView_GetHotItem($Listview) If $Selected = -1 then Return While _IsPressed(1) WEnd $Dropped = _GUICtrlListView_GetHotItem($Listview) If $Dropped > -1 then _GUICtrlListView_BeginUpdate($Listview) If $Selected < $Dropped Then _GUICtrlListView_InsertItem($Listview, _GUICtrlListView_GetItemTextString($Listview, $Selected), $Dropped + 1) _GUICtrlListView_SetItemChecked($Listview, $Dropped + 1, _GUICtrlListView_GetItemChecked($Listview, $Selected)) _GUICtrlListView_DeleteItem($Listview, $Selected) ElseIf $Selected > $Dropped Then _GUICtrlListView_InsertItem($Listview, _GUICtrlListView_GetItemTextString($Listview, $Selected), $Dropped) _GUICtrlListView_SetItemChecked($Listview, $Dropped, _GUICtrlListView_GetItemChecked($Listview, $Selected + 1)) _GUICtrlListView_DeleteItem($Listview, $Selected + 1) EndIf _GUICtrlListView_EndUpdate($Listview) EndIf EndFunc Func _Close() Exit(0) EndFunc1 point -
Just a quick snippet I created to parse UDF headers into the format used by SciTE for calltips and properties. This came about as I was constantly having to mess around with the files for >ResourcesEx UDF and overtime it became quite laborious. #include <FileConstants.au3> #include <WinAPIShPath.au3> Local $sFileOpenDialog = FileOpenDialog('Select an Au3 script file with headers.', @ScriptDir & '\', 'Au3 Script (*.au3)', $FD_FILEMUSTEXIST) If Not @error Then Local $sOutput = ParseHeadersToSciTE($sFileOpenDialog) ConsoleWrite($sOutput) ClipPut($sOutput) EndIf Func ParseHeadersToSciTE($sFilePath) Local Enum $PARAMS_FUNCTIONNAME, $PARAMS_DESCRIPTION, $PARAMS_PARAMSIGNATURE Local $sReturn = '' Local $aSRE = StringRegExp(FileRead($sFilePath), '(?is:\R;\hName\h\.+:\h(\w+)\h*\R;\hDescription\h\.+:\h(.+?)\R;\hSyntax\h\.+:\h(\1.+?)(?=\R;\hParameters\h\.))', $STR_REGEXPARRAYGLOBALMATCH) If Not @error Then Local $iFuncCount = 0, _ $sCallTips = '', $sProperties = '', $sUDFName = _WinAPI_PathStripPath($sFilePath) For $i = 0 To UBound($aSRE) - 1 Step 3 $iFuncCount += 1 $sCallTips &= StringRegExpReplace($aSRE[$i + $PARAMS_PARAMSIGNATURE], '\h*\R;\h+', '') & ' ' & $aSRE[$i + $PARAMS_DESCRIPTION] & ' (Requires: #include <' & $sUDFName & '>)' & @CRLF $sProperties &= StringLower($aSRE[$i + $PARAMS_FUNCTIONNAME]) & ' ' If Not Mod($iFuncCount, 5) Then $sProperties &= '\' & @CRLF & @TAB $iFuncCount = 0 EndIf Next If Mod($iFuncCount, 5) Then $sProperties &= '\' EndIf $sReturn = 'Add to au3.user.calltips.api:' & @CRLF & $sCallTips & @CRLF & 'Add to au3.userudfs:' & @CRLF & $sProperties & @CRLF EndIf Return $sReturn EndFunc ;==>ParseHeadersToSciTE1 point
-
Well today I was making a program and wanted to store a few parameters and variables and whatnot. It's been ages since I've worked with AutoIt (no reason why, just have been doing other type of developing) and thought to use JSON since I use it quite a bit to transfer and store information with javascript. So I get on the forums to find that no one has made a JSON UDF! "Well what the heck is this?!" I think to myself. So I decided to sit down for the last 3 or 4 hours to create one. So without further ado, I give to you, the JSON UDF. Updated to V0.3 (Thanks for the SRE wraithdu) JSON Example: Dim $array1[2] = ["test1", False], $array[6] = [1.3456, 2, Binary(0xFFFFFF), False, 't,e"st', $array1] _ArrayDisplay($array) $JSONString = _ToJSONString($array) MsgBox(0, "JSONString", $JSONString) $ArrayAfterJSON = _FromJSONString($JSONString) _ArrayDisplay($ArrayAfterJSON) $array1fromJSON = $ArrayAfterJSON[5] If Not $array1fromJSON[1] Then MsgBox(0, "", $array1fromJSON[0]) EndIf JSON UDF: ; =================================================================== ; JSON UDF's ; v0.3 ; ; By: BAM5 ; Last Updated: 10/07/2009 ; Tested with AutoIt Version 3.3.0.0 ; Extra requirements: Nothing! ; ; A set of functions that allow you to encode and decode JSON Strings ; ; Thanks to wraithdu for setting me up with some SRE. It really made ; the script a lot less messy. ; ; Comments: ; Unfortunately I have no idea how to encode or even detect ; multi-dimensional arrays. I wish multi-dimensional arrays in ; Autoit were more like javascript where $array[0] would point ; to another array so accessing the array in the array would be ; coded like this $array[0][0]. But that's more OOP which AIT ; hasn't really gotten into. ; ; In order to access arrays in other arrays you must first ; point a variable to the embeded array. Example: ; ; Dim $EmbededArray[1]=["Look I work!"] ; Dim $ArrayWithArrayInside[2]=[$EmbededArray, "extra"] ; $array = $ArrayWithArrayInside[0] ; MsgBox(0, "Hooray!", $array[0]) ; ; With the way Javascript works it would be: ; ; Dim $EmbededArray[1]=["Look I work!"] ; Dim $ArrayWithArrayInside[2]=[$EmbededArray, "extra"] ; MsgBox(0, "Hooray!", $ArrayWithArrayInside[0][0]) ; ; Which is why JSON is more sensible in Javascript and other ; languages. ; ; Main functions: ; _toJSONString - Encodes a object to a JSON String ; _fromJSONString - Creates a object from a JSON String ; =================================================================== #include <Array.au3> #include-once ; =================================================================== ; _ToJSONString($obj) ; ; Goes through an object you give it- being an array or string or ; other- and turns it into a JSON String which you can send to ; servers or save to a text file to recall information later. ; ; Parameters: ; $obj - IN - Object to be turnd into a JSON String ; Returns: ; JSON String or false on failure ; Errors: ; @error = 1 - Unknown type of variable inputed ; =================================================================== Func _ToJSONString($obj) If IsArray($obj) Then $returnString = "[" For $object In $obj $returnString &= _ToJSONString($object) & "," Next $returnString = StringLeft($returnString, StringLen($returnString) - 1) $returnString &= "]" ElseIf IsFloat($obj) Or IsInt($obj) Or IsBinary($obj) Then $returnString = String($obj) ElseIf IsBool($obj) Then If $obj Then $returnString = "true" Else $returnString = "false" EndIf ElseIf IsString($obj) Then $returnString = '"' & StringReplace(StringReplace(String($obj), '"', '\"'), ',', '\,') & '"' Else SetError(1) Return (False) EndIf Return ($returnString) EndFunc ;==>_toJSONString ; =================================================================== ; _FromJSONString($str) ; ; Takes a JSON String and decodes it into program objects such as ; arrays and numbers and strings and bools. ; ; Parameters: ; $str - IN - The JSON String to decode into objects ; Returns: ; A object decoded from a JSON String or False on error ; Errors ; @error = 1 - Syntax error in the JSON String or unknown variable ; Also, if there is an error in decoding part of the string such as ; a variable or a array, this function will replace the variable ; or array with a string explaining the error. ; =================================================================== Func _FromJSONString($str) If StringLeft($str, 1) = '"' And StringRight($str, 1) = '"' And Not (StringRight($str, 2) = '\"') Then $obj = StringReplace(StringReplace(_StringRemoveFirstLastChar($str, '"'), '\"', '"'), '\,', ',') ElseIf $str = "true" Then $obj = True ElseIf $str = "false" Then $obj = False ElseIf StringLeft($str, 2) = "0x" Then $obj = Binary($str) ElseIf StringIsInt($str) Then $obj = Int($str) ElseIf StringIsFloat($str) Then $obj = Number($str) ElseIf StringLeft($str, 1) = '[' And StringRight($str, 1) = ']' Then $str = StringTrimLeft($str, 1) $str = StringTrimRight($str, 1) $ufelems = StringRegExp($str, "(\[.*?\]|.*?[^\\])(?:,|\z)", 3) Dim $obj[1] For $elem In $ufelems $insObj = _FromJSONString($elem) If $insObj = False And @error = 1 Then $insObj = 'Error in syntax of piece of JSONString: "' & $elem & '"' _ArrayAdd($obj, $insObj) Next _ArrayDelete($obj, 0) Else SetError(1) Return (False) EndIf Return ($obj) EndFunc ;==>_fromJSONString ; =================================================================== ; _StringRemoveFirstLastChar($str, $char[, $firstCount=1[, $lastCount=1]]) ; ; Removes characters matching $char from the beginning and end of a string ; ; Parameters: ; $str - IN - String to search search modify and return ; $char - IN - Character to find and delete in $str ; $firstCount - OPTIONAL IN - How many to delete from the beginning ; $lastCount - OPTIONAL IN - How many to delete from the end ; Returns: ; Modified string ; Remarks: ; Could probably be easily turned into a replace function ; (But I'm too lazy :P ) ; =================================================================== Func _StringRemoveFirstLastChar($str, $char, $firstCount = 1, $lastCount = 1) $returnString = "" $splited = StringSplit($str, '"', 2) $count = 1 $lastCount = UBound($splited) - $lastCount For $split In $splited $returnString &= $split If $count > $firstCount And $count < $lastCount Then $returnString &= '"' $count += 1 Next Return ($returnString) EndFunc ;==>_StringRemoveFirstLastChar Unfortunately, arrays in autoit don't quite work like arrays in other programming languages. In order to modify array elements that are nested in another array you must first make a variable point to the nested array. Dim $EmbededArray[1]=["Look I work!"] Dim $ArrayWithArrayInside[2]=[$EmbededArray, "extra"] $array = $ArrayWithArrayInside[0] MsgBox(0, "Hooray!", $array[0]) For those of you who are unaware of what JSON is and what it does exactly, here is a brief description. JSON stands for Javascript Object Notation. Well why is javascript in Autoit you ask? Well the name isn't everything. JSON allows you to store complex objects like arrays in a human readable string form. This means you can save arrays to text files and send them over the internet. This is known as serialization, but not all serializing forms can be read (easily) by humans. JSON.au31 point
-
BY FAR NOT DONE History *Version .4 - Added automatic WMF -> JPG handling, fixing of HTML code to change WMF to JPG exteions; tested Word and Wordpad RTF, and they are compatible; Tested embeded images, JPG/BMP/WMF/EMF/GIF all embed, but Smart Art (2007) does not. Tables work, but table formatting (background/color) does not. Version .3 -- Initial Autoit Forum Release Was trolling around this board, looking for code that could help with this, and didn't find too much. Wanted to be able to add it to my new chat app that i'm coding in Autoit. (The chat app's purpose is to provide HTML chat interface for Jabber conference rooms.) So, I looked around sf.net (sourceforge) and found a great project for RTF2HTML lite It REQUIRES the RTF and HTML to be files for the conversion, but it's pretty dang quick, and gets the job done. What it can do: BoldItalicsUnderlineStrikethroughBullets - see noteText ColorsCenter, Left, Right alignmentFont SizesFont changes (name, etc)What I havn't made it do yet: Add Images (tho the dll does support image conversion with an embded folder, which i do have in the include file)Background Colors (Have to code how to pull those from the RTF control, and then i can just replace them into the code before writing the final HTML code What I had to hack around to get done: Pull the first color in the RTF box, convert it from RGB to Hex, insert in into the HTML code, and recompile the HTML output (because the dll seems to like to miss .c11 color lol)Requirements: r2h.dllmscomct2.ocxr2h.au3Unimplemented RTF Features (To Do) (dll limitation, not autoit) Better support for OpenOffice Writer's RTF and Linux word processors, including buggy ones. "Table tag not closing" bug with OpenOffice's RTF. Prevent code from stupid RTF writers to generate redundant style references like f3 c4 f3 c4 f3 c4. Always add HTML <TITLE>; and META tags into header. Paragraph borders. Table cell size control. Table borders. Page Headers and Footers (not sure if needed at all). Support for hyperlinks (Microsoft-specific tags and/or automatic URL detection). HREF/SRC URL-encoding (usually not needed). Header (<H1>, <H2>...) tags (header formatting already works OK, but HTML header tags are not used).Examples really are not needed, because as long as you have the RTF, it should convert it (assuming you used the mscomct2.ocx to output the RTF (tho wordpad and word seem to work fine with it too). Example: Pulling the RTF from an embded mscomct2.ocx RTF control (using example in help file) FileWrite(@TempDir & "\r2h.rtf", $oRP.TextRTF) $code = r2h(@TempDir & "\r2h.rtf", @TempDir & "\r2h.html")Attached Files r2h.au3 The function RTFEditor.au3Very very basic (and isn't complete or foolproof editor) r2h.dllRTF2HTML dll file. Note I have it set to autolaunch the HTML it generates, but you can remove it by removing the ShellExecute($HTML) line in the included file1 point
-
Well... that was made out of different UDFs gathered in the forum for my own use... i thought it might help some others in that specific format. All credits are as was when i found the UDFs. _AdvancedSplashScreen.au3: ;=============================================================================== ; ; UDF Name: _AdvancedSplashScreen ; Description: Manipulates IE to show 'JPEG, TIFF, BMP, PNG and GIF' images inside AU3 GUIs. ; Function(s): _AdvancedSplashScreenON Creates the image as a splash screen. ; _AdvancedSplashScreenOFF Closes the splash screen. ; _GUICtrlCreatePIC Creates a picture control inside your GUI. ; _GUICtrlStopGIF Stop the picture control animation [GIF only] ; _GUICtrlResumeGIF Resumes the picture control animation [GIF only] ; _ImageGetSize Retrieves ove of the above file types image size. ; Requirement(s): #include <IE.au3>, #include <GUIConstants.au3>, #include <WindowsConstants.au3> ; Collected and composed by: Armand. ;=============================================================================== #include-once #include <IE.au3> #include <GUIConstants.au3> #include <WindowsConstants.au3> Global $_LastAdvancedSplashScreenCreated = 0 ;=============================================================================== ; ; Function Name: _AdvancedSplashScreenON($ImagePath, $Image_Width = 0, $Image_Height = 0, $Tile = 1) ; Description: Creates a splash screen. ; Parameter(s): $ImagePath [required] path and filename of the picture. ; $Image_Width [optional] splashscreen Width. ; $Image_Height [optional] splashscreen Height. ; $Tile [optional] 0=repeat, 1=no-repeat, 2=repeat-x, 3=repeat-y ; Requirement(s): #include <IE.au3>, #include <GUIConstants.au3>, #include <WindowsConstants.au3> ; Return Value(s): ; controlID of the SplashScreen created [GUI handle] ; Author(s): Armand. ;=============================================================================== Func _AdvancedSplashScreenON($ImagePath, $Image_Width = 0, $Image_Height = 0, $Tile = 1) #Region ### START Koda GUI section ### Form= Local $aSize $aSize = _ImageGetSize($ImagePath) If @error = 1 Then ConsoleWrite("_GUICtrlCreatePIC:: Can't find image size." & @CRLF) Else If $aSize[0] > $Image_Width Then $Image_Width = $aSize[0] If $aSize[1] > $Image_Height Then $Image_Height = $aSize[1] EndIf $_LastAdvancedSplashScreenCreated = GUICreate("Splash", $Image_Width, $Image_Height, -1, -1, BitOR($WS_SYSMENU, $WS_POPUP, $WS_CLIPSIBLINGS), BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST, $WS_EX_WINDOWEDGE, $GUI_WS_EX_PARENTDRAG)) WinSetOnTop($_LastAdvancedSplashScreenCreated, "", 1) _GUICtrlCreatePIC($ImagePath, 0, 0, 1, $Image_Width, $Image_Height, $Tile) GUISetState(@SW_SHOW) #EndRegion ### START Koda GUI section ### Form= Return $_LastAdvancedSplashScreenCreated EndFunc Func _AdvancedSplashScreenOFF($SplashScreenID = $_LastAdvancedSplashScreenCreated) GUIDelete($SplashScreenID) EndFunc ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;################################################################################################################################# ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Ctrl Create Pic @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ;################################################################################################################################# ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;=============================================================================== ; ; Function Name: _GUICtrlCreatePIC() ; Description: Create a picture control ; Parameter(s): $pic [required] path and filename of the animated GIF ; $x [optional] x pos of the top-left corner ; $y [optional] y pos of the top-left corner ; $border [optional] 0 = no border ; $pwidth [optional] 0 = use pic width. ; $pheight [optional] 0 = use pic height. ; $tile [optional] 0 = repeat, 1 = no-repeat, 2 = repeat-x, 3 = repeat-y. ; any other = sunken border ; Requirement(s): #include <IE.au3> ; Return Value(s): ; controlID of the control created ; Author(s): elgabionline, gafrost, Ed_Maximized ; Editted by: Armand. ; MSDN BODY::: http://msdn.microsoft.com/en-us/library/ms535205(VS.85).aspx ;=============================================================================== Func _GUICtrlCreatePIC($pic,$x=0,$y=0,$border=0, $pwidth = 0, $pheight = 0, $tile = 0) Dim $aTile[4] = ["repeat", "no-repeat", "repeat-x", "repeat-y"] Local $oPicIE, $aSize If $pwidth = 0 Or $pheight = 0 Then $aSize = _ImageGetSize($pic) If @error = 1 Then ConsoleWrite("_GUICtrlCreatePIC:: Can't find image size."&@CRLF) Else If $pwidth = 0 Then $pwidth = $aSize[0] If $pheight = 0 Then $pheight = $aSize[1] EndIf EndIf $oPicIE = ObjCreate("Shell.Explorer.2") $_AnimatedGif_GUIActiveX = GUICtrlCreateObj($oPicIE, $x, $y, $pwidth, $pheight) $oPicIE.navigate ("about:blank") While _IEPropertyGet($oPicIE, "busy") Sleep(100) WEnd $oPicIE.document.body.background = $pic $oPicIE.document.body.scroll = "no" $oPicIE.document.body.style.backgroundRepeat = $aTile[$tile] if $border=0 then $oPicIE.document.body.style.border = "0px groove" SetExtended($_AnimatedGif_GUIActiveX, $oPicIE) Return $oPicIE EndFunc ;=============================================================================== ; ; Function Name: _GUICtrlStopGIF() ; Description: stop an Animated GIF control created with _GUICtrlCreateGIF() ; Parameter(s): $Control [required] controlID of the control returned by _GUICtrlCreateGIF() ; ; Requirement(s): #include <IE.au3> ; Return Value(s): ; none ; Author(s): lod3n, Ed_Maximized ; ;=============================================================================== Func _GUICtrlStopGIF($Control) _IEAction ($Control, "stop" ) ; stop EndFunc ;=============================================================================== ; ; Function Name: _GUICtrlResumeGIF() ; Description: resume an Animated GIF control created with _GUICtrlCreateGIF() ; Parameter(s): $Control [required] controlID of the control returned by _GUICtrlCreateGIF() ; ; Requirement(s): #include <IE.au3> ; Return Value(s): ; none ; Author(s): lod3n, Ed_Maximized ; ;=============================================================================== Func _GUICtrlResumeGIF($Control) $Control.document.body.background = $Control.document.body.background ;resume EndFunc ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;################################################################################################################################# ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Image Get Size @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ;################################################################################################################################# ;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ;=============================================================================== ; ; Description: Return JPEG, TIFF, BMP, PNG and GIF image size. ; Parameter(s): File name ; Requirement(s): None special ; Return Value(s): On Success - array with width and height ; On Failure empty string and sets @ERROR: ; 1 - Not valid image or info not found ; Author(s): YDY (Lazycat) ; Version: 1.1.00 ; Date: 15.03.2005 ; ;=============================================================================== Func _ImageGetSize($sFile) Local $sHeader = _FileReadAtOffsetHEX($sFile, 1, 24) ; Get header bytes Local $asIdent = StringSplit("FFD8 424D 89504E470D0A1A 4749463839 4749463837 4949 4D4D", " ") Local $anSize = "" For $i = 1 To $asIdent[0] If StringInStr($sHeader, $asIdent[$i]) = 1 Then Select Case $i = 1 ; JPEG $anSize = _ImageGetSizeJPG($sFile) Exitloop Case $i = 2 ; BMP $anSize = _ImageGetSizeSimple($sHeader, 19, 23, 0) Exitloop Case $i = 3 ; PNG $anSize = _ImageGetSizeSimple($sHeader, 19, 23, 1) Exitloop Case ($i = 4) or ($i = 5) ; GIF $anSize = _ImageGetSizeSimple($sHeader, 7, 9, 0) Exitloop Case $i = 6 ; TIFF MM $anSize = _ImageGetSizeTIF($sFile, 0) Exitloop Case $i = 7 ; TIFF II $anSize = _ImageGetSizeTIF($sFile, 1) Exitloop EndSelect Endif Next If not IsArray ($anSize) Then SetError(1) Return($anSize) EndFunc ;=============================================================================== ; ; Description: Get image size at given bytes ; Parameter(s): File header ; Return Value(s): Array with dimension ; ;=============================================================================== Func _ImageGetSizeSimple($sHeader, $nXoff, $nYoff, $nByteOrder) Local $anSize[2] $anSize[0] = _Dec(StringMid($sHeader, $nXoff*2-1, 4), $nByteOrder) $anSize[1] = _Dec(StringMid($sHeader, $nYoff*2-1, 4), $nByteOrder) Return ($anSize) EndFunc ;=============================================================================== ; ; Description: Get JPG image size (may be used standalone with checking) ; Parameter(s): File name ; Return Value(s): On Success - array with dimension ; ;=============================================================================== Func _ImageGetSizeJPG($sFile) Local $anSize[2], $sData, $sSeg, $nFileSize, $nPos = 3 $nFileSize = FileGetSize($sFile) While $nPos < $nFileSize $sData = _FileReadAtOffsetHEX ($sFile, $nPos, 4) If StringLeft($sData, 2) = "FF" then ; Valid segment start If StringInStr("C0 C2 CA C1 C3 C5 C6 C7 C9 CB CD CE CF", StringMid($sData, 3, 2)) Then ; Segment with size data $sSeg = _FileReadAtOffsetHEX ($sFile, $nPos + 5, 4) $anSize[1] = Dec(StringLeft($sSeg, 4)) $anSize[0] = Dec(StringRight($sSeg, 4)) Return($anSize) Else $nPos= $nPos + Dec(StringRight($sData, 4)) + 2 Endif Else ExitLoop Endif Wend Return("") EndFunc ;=============================================================================== ; ; Description: Get TIFF image size (may be used standalone with checking) ; Parameter(s): File name ; Return Value(s): On Success - array with dimension ; ;=============================================================================== Func _ImageGetSizeTIF($sFile, $nByteOrder) Local $anSize[2], $pos = 3 $nTagsOffset = _Dec(_FileReadAtOffsetHEX($sFile, 5, 4), $nByteOrder) + 1 $nFieldCount = _Dec(_FileReadAtOffsetHEX($sFile, $nTagsOffset, 2), $nByteOrder) For $i = 0 To $nFieldCount - 1 $sField = _FileReadAtOffsetHEX($sFile, $nTagsOffset + 2 + 12 * $i, 12) $sTag = StringLeft($sField, 4) If $nByteOrder Then $sTag = StringRight($sTag, 2) & StringLeft($sTag, 2) Select Case $sTag = "0001" $anSize[0] = _Dec(StringRight($sField, 8), $nByteOrder) Case $sTag = "0101" $anSize[1] = _Dec(StringRight($sField, 8), $nByteOrder) EndSelect Next If ($anSize[0] = 0) or ($anSize[1] = 0) Then Return("") Return($anSize) Endfunc ;=============================================================================== ; ; Description: Basic function that read binary data into HEX-string ; Parameter(s): File name, Start offset, Number bytes to read ; Return Value(s): Hex string ; ;=============================================================================== Func _FileReadAtOffsetHEX ($sFile, $nOffset, $nBytes) Local $hFile = FileOpen($sFile, 0) Local $sTempStr = "" FileRead($hFile, $nOffset - 1) For $i = $nOffset To $nOffset + $nBytes - 1 $sTempStr = $sTempStr & Hex(Asc(FileRead($hFile, 1)), 2) Next FileClose($hFile) Return ($sTempStr) Endfunc ;=============================================================================== ; ; Description: Basic function, similar Dec, but take in account byte order ; Parameter(s): Hex string, Byte order ; Return Value(s): Decimal value ; ;=============================================================================== Func _Dec($sHexStr, $nByteOrder) If $nByteOrder Then Return(Dec($sHexStr)) Local $sTempStr = "" While StringLen($sHexStr) > 0 $sTempStr = $sTempStr & StringRight($sHexStr, 2) $sHexStr = StringTrimRight($sHexStr, 2) WEnd Return (Dec($sTempStr)) EndFuncƒoÝŠ÷ ØLZš™^jëhŠ×6#include "_AdvancedSplashScreen.au3" $image = @ProgramFilesDir & "\AutoIt3\Examples\GUI\Advanced\Images\Button.png" Example1() Example2() Func Example1() _AdvancedSplashScreenON($image) Sleep(5000) _AdvancedSplashScreenOFF() EndFunc ;==>Example1 Func Example2() #include <ButtonConstants.au3> #include <StaticConstants.au3> Opt("GUIOnEventMode", 1) #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 277, 230, 193, 125) GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close") $Button1 = GUICtrlCreateButton("Exit", 90, 200, 75, 25, 0) GUICtrlSetOnEvent(-1, "Button1Click") _GUICtrlCreatePIC($image, 30, 0) GUISetState(@SW_SHOW) #EndRegion ### START Koda GUI section ### Form= While 1 Sleep(100) WEnd EndFunc ;==>Example2 Func Button1Click() Exit EndFunc ;==>Button1Click Func Form1Close() Exit EndFunc ;==>Form1Close1 point
-
#include-once ; ------------------------------------------------------------------------------ ; ; AutoIt Version: 3.0 ; Language: English ; Description: Functions that translate Microsoft Installer Return Codes. ; ; Jun 16, 2008 - Initial Release ; ------------------------------------------------------------------------------ #Region MSI Return Codes Originaly aquired from [url="http://desktopengineer.com/windowsinstallererrorcodes"]http://desktopengineer.com/windowsinstallererrorcodes[/url] Local Const $MSI_RC_0 = 'ERROR_SUCCESS: Action completed successfully.' Local Const $MSI_RC_13 = 'ERROR_INVALID_DATA: The data is invalid.' Local Const $MSI_RC_87 = 'ERROR_INVALID_PARAMETER: One of the parameters was invalid.' Local Const $MSI_RC_120 = 'ERROR_CALL_NOT_IMPLEMENTED: This function is not available for this platform. It is only available on Windows 2000 and Windows XP with Window Installer version 2.0.' Local Const $MSI_RC_1259 = 'ERROR_APPHELP_BLOCK: This error code only occurs when using Windows Installer version 2.0 and Windows XP or later. If Windows Installer determines a product may be incompatible with the current operating system, it displays a dialog informing the user and asking whether to try to install anyway. This error code is returned if the user chooses not to try the installation.' Local Const $MSI_RC_1601 = 'ERROR_INSTALL_SERVICE_FAILURE: The Windows Installer service could not be accessed. Contact your support personnel to verify that the Windows Installer service is properly registered.' Local Const $MSI_RC_1602 = 'ERROR_INSTALL_USEREXIT: User cancel installation.' Local Const $MSI_RC_1603 = 'ERROR_INSTALL_FAILURE: Fatal error during installation.' Local Const $MSI_RC_1604 = 'ERROR_INSTALL_SUSPEND: "Installation suspended, incomplete."' Local Const $MSI_RC_1605 = 'ERROR_UNKNOWN_PRODUCT: This action is only valid for products that are currently installed.' Local Const $MSI_RC_1606 = 'ERROR_UNKNOWN_FEATURE: Feature ID not registered.' Local Const $MSI_RC_1607 = 'ERROR_UNKNOWN_COMPONENT: Component ID not registered.' Local Const $MSI_RC_1608 = 'ERROR_UNKNOWN_PROPERTY: Unknown property.' Local Const $MSI_RC_1609 = 'ERROR_INVALID_HANDLE_STATE: Handle is in an invalid state.' Local Const $MSI_RC_1610 = 'ERROR_BAD_CONFIGURATION: The configuration data for this product is corrupt. Contact your support personnel.' Local Const $MSI_RC_1611 = 'ERROR_INDEX_ABSENT: Component qualifier not present.' Local Const $MSI_RC_1612 = 'ERROR_INSTALL_SOURCE_ABSENT: The installation source for this product is not available. Verify that the source exists and that you can access it.' Local Const $MSI_RC_1613 = 'ERROR_INSTALL_PACKAGE_VERSION: This installation package cannot be installed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service.' Local Const $MSI_RC_1614 = 'ERROR_PRODUCT_UNINSTALLED: Product is uninstalled.' Local Const $MSI_RC_1615 = 'ERROR_BAD_QUERY_SYNTAX: SQL query syntax invalid or unsupported.' Local Const $MSI_RC_1616 = 'ERROR_INVALID_FIELD: Record field does not exist.' Local Const $MSI_RC_1618 = 'ERROR_INSTALL_ALREADY_RUNNING: Another installation is already in progress. Complete that installation before proceeding with this install.' Local Const $MSI_RC_1619 = 'ERROR_INSTALL_PACKAGE_OPEN_FAILED: "This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package."' Local Const $MSI_RC_1620 = 'ERROR_INSTALL_PACKAGE_INVALID: This installation package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer package.' Local Const $MSI_RC_1621 = 'ERROR_INSTALL_UI_FAILURE: There was an error starting the Windows Installer service user interface. Contact your support personnel.' Local Const $MSI_RC_1622 = 'ERROR_INSTALL_LOG_FAILURE: Error opening installation log file. Verify that the specified log file location exists and is writable.' Local Const $MSI_RC_1623 = 'ERROR_INSTALL_LANGUAGE_UNSUPPORTED: This language of this installation package is not supported by your system.' Local Const $MSI_RC_1624 = 'ERROR_INSTALL_TRANSFORM_FAILURE: Error applying transforms. Verify that the specified transform paths are valid.' Local Const $MSI_RC_1625 = 'ERROR_INSTALL_PACKAGE_REJECTED: This installation is forbidden by system policy. Contact your system administrator.' Local Const $MSI_RC_1626 = 'ERROR_FUNCTION_NOT_CALLED: Function could not be executed.' Local Const $MSI_RC_1627 = 'ERROR_FUNCTION_FAILED: Function failed during execution.' Local Const $MSI_RC_1628 = 'ERROR_INVALID_TABLE: Invalid or unknown table specified.' Local Const $MSI_RC_1629 = 'ERROR_DATATYPE_MISMATCH: Data supplied is of wrong type.' Local Const $MSI_RC_1630 = 'ERROR_UNSUPPORTED_TYPE: Data of this type is not supported.' Local Const $MSI_RC_1631 = 'ERROR_CREATE_FAILED: The Windows Installer service failed to start. Contact your support personnel.' Local Const $MSI_RC_1632 = 'ERROR_INSTALL_TEMP_UNWRITABLE: The temp folder is either full or inaccessible. Verify that the temp folder exists and that you can write to it.' Local Const $MSI_RC_1633 = 'ERROR_INSTALL_PLATFORM_UNSUPPORTED: This installation package is not supported on this platform. Contact your application vendor.' Local Const $MSI_RC_1634 = 'ERROR_INSTALL_NOTUSED: Component not used on this machine' Local Const $MSI_RC_1635 = 'ERROR_PATCH_PACKAGE_OPEN_FAILED: "This patch package could not be opened. Verify that the patch package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer patch package."' Local Const $MSI_RC_1636 = 'ERROR_PATCH_PACKAGE_INVALID: This patch package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer patch package.' Local Const $MSI_RC_1637 = 'ERROR_PATCH_PACKAGE_UNSUPPORTED: This patch package cannot be processed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service.' Local Const $MSI_RC_1638 = 'ERROR_PRODUCT_VERSION: "Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel."' Local Const $MSI_RC_1639 = 'ERROR_INVALID_COMMAND_LINE: Invalid command line argument. Consult the Windows Installer SDK for detailed command line help.' Local Const $MSI_RC_1640 = 'ERROR_INSTALL_REMOTE_DISALLOWED: Installation from a Terminal Server client session not permitted for current user.' Local Const $MSI_RC_1641 = 'ERROR_SUCCESS_REBOOT_INITIATED: The installer has started a reboot.' Local Const $MSI_RC_1642 = 'ERROR_PATCH_TARGET_NOT_FOUND: The installer cannot install the upgrade patch because the program being upgraded may be missing or the upgrade patch updates a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade patch.' Local Const $MSI_RC_1643 = 'ERROR_PATCH_PACKAGE_REJECTED: The patch package is not permitted by system policy.' Local Const $MSI_RC_1644 = 'ERROR_INSTALL_TRANSFORM_REJECTED: One or more customizations are not permitted by system policy.' Local Const $MSI_RC_3010 = 'ERROR_SUCCESS_REBOOT_REQUIRED: A reboot is required to complete the install. This does not include installs where the ForceReboot action is run.' #EndRegion #Region MSI Error Codes Originaly aquired from [url="http://desktopengineer.com/msierrors"]http://desktopengineer.com/msierrors[/url] Local Const $MSI_EC_1101 = 'Could not open file stream: %2%. System error: %3%' Local Const $MSI_EC_1259 = 'This error code only occurs when using Windows Installer version 2.0 and Windows XP or later. If Windows Installer determines a product may be incompatible with the current operating system, it displays a dialog informing the user and asking whether to try to install anyway. This error code is returned if the user chooses not to try the installation' Local Const $MSI_EC_1301 = 'Cannot create the file ''%2%''. A directory with this name already exists.' Local Const $MSI_EC_1302 = 'Please insert the disk: %2%' Local Const $MSI_EC_1303 = 'The Installer has insufficient privileges to access this directory: %2%.' Local Const $MSI_EC_1304 = 'Error Writing to File: %2%' Local Const $MSI_EC_1305 = 'Error Reading from File: %2%; System error code: %3%' Local Const $MSI_EC_1306 = 'The file ''%2%'' is in use. If you can, please close the application that is using the file, then click Retry.' Local Const $MSI_EC_1307 = 'There is not enough disk space remaining to install this file: %2%. If you can, free up some disk space, and click Retry, or click Cancel to exit.' Local Const $MSI_EC_1308 = 'Source file not found: %2%' Local Const $MSI_EC_1309 = 'Error attempting to open the source file: %3%. System error code: %2%' Local Const $MSI_EC_1310 = 'Error attempting to create the destination file: %3%. System error code: %2%' Local Const $MSI_EC_1311 = 'Could not locate source file cabinet: %2%.' Local Const $MSI_EC_1312 = 'Cannot create the directory ''%2%''. A file with this name already exists. Please rename or remove the file and click retry, or click Cancel to exit.' Local Const $MSI_EC_1313 = 'The volume %2% is currently unavailable. Please select another.' Local Const $MSI_EC_1314 = 'The specified path ''%2%'' is unavailable.' Local Const $MSI_EC_1315 = 'Unable to write to the specified folder: %2%.' Local Const $MSI_EC_1316 = 'A network error occurred while attempting to read from the file: %2%' Local Const $MSI_EC_1317 = 'An error occurred while attempting to create the directory: %2%' Local Const $MSI_EC_1318 = 'A network error occurred while attempting to create the directory: %2%' Local Const $MSI_EC_1319 = 'A network error occurred while attempting to open the source file cabinet: %2%.' Local Const $MSI_EC_1320 = 'The specified path is too long: ''%2%''' Local Const $MSI_EC_1321 = 'The Installer has insufficient privileges to modify this file: %2%.' Local Const $MSI_EC_1322 = 'A portion of the folder path ''%2%'' is invalid. It is either empty or exceeds the length allowed by the system.' Local Const $MSI_EC_1323 = 'The folder path ''%2%'' contains words that are not valid in folder paths.' Local Const $MSI_EC_1324 = 'The folder path ''%2%'' contains an invalid character.' Local Const $MSI_EC_1325 = '''%2%'' is not a valid short file name.' Local Const $MSI_EC_1326 = 'Error getting file security: %3% GetLastError: %2%' Local Const $MSI_EC_1327 = 'Invalid Drive: %2%' Local Const $MSI_EC_1328 = 'Error applying patch to file %2%. It has probably been updated by other means, and can no longer be modified by this patch. For more information contact your patch vendor. System Error: %3%' Local Const $MSI_EC_1329 = 'A file that is required cannot be installed because the cabinet file %2% is not digitally signed. This may indicate that the cabinet file is corrupt.' Local Const $MSI_EC_1330 = 'A file that is required cannot be installed because the cabinet file %2% has an invalid digital signature. This may indicate that the cabinet file is corrupt.{ Error %3% was returned by WinVerifyTrust.}' Local Const $MSI_EC_1331 = 'Failed to correctly copy %2% file: CRC error.' Local Const $MSI_EC_1332 = 'Failed to correctly move %2% file: CRC error.' Local Const $MSI_EC_1333 = 'Failed to correctly patch %2% file: CRC error.' Local Const $MSI_EC_1334 = 'The file ''%2%'' cannot be installed because the file cannot be found in cabinet file ''%3%''. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.' Local Const $MSI_EC_1335 = 'The cabinet file ''%2%'' required for this installation is corrupt and cannot be used. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.' Local Const $MSI_EC_1336 = 'There was an error creating a temporary file that is needed to complete this installation. Folder: %3%. System error code: %2%' Local Const $MSI_EC_1401 = 'Could not create key: %2%. System error %3%.' Local Const $MSI_EC_1402 = 'Could not open key: %2%. System error %3%.' Local Const $MSI_EC_1403 = 'Could not delete value %2% from key %3%. System error %4%.' Local Const $MSI_EC_1404 = 'Could not delete key %2%. System error %3%.' Local Const $MSI_EC_1405 = 'Could not read value %2% from key %3%. System error %4%.' Local Const $MSI_EC_1406 = 'Could not write value %2% to key %3%. System error %4%.' Local Const $MSI_EC_1407 = 'Could not get value names for key %2%. System error %3%.' Local Const $MSI_EC_1408 = 'Could not get sub key names for key %2%. System error %3%.' Local Const $MSI_EC_1409 = 'Could not read security information for key %2%. System error %3%.' Local Const $MSI_EC_1410 = 'Could not increase the available registry space. %2% KB of free registry space is required for the installation of this application.' Local Const $MSI_EC_1500 = 'Another installation is in progress. You must complete that installation before continuing this one.' Local Const $MSI_EC_1501 = 'Error accessing secured data. Please make sure the Windows Installer is configured properly and try the install again.' Local Const $MSI_EC_1502 = 'User ''%2%'' has previously initiated an install for product ''%3%''. That user will need to run that install again before they can use that product. Your current install will now continue.' Local Const $MSI_EC_1503 = 'User ''%2%'' has previously initiated an install for product ''%3%''. That user will need to run that install again before they can use that product.' Local Const $MSI_EC_1601 = 'The Windows Installer service could not be accessed. Contact your support personnel to verify that the Windows Installer service is properly registered - OR - Out of disk space -- Volume: ''%2%''; required space: %3% KB; available space: %4% KB' ;Local Const $MSI_EC_1601 = 'Out of disk space -- Volume: ''%2%''; required space: %3% KB; available space: %4% KB' Local Const $MSI_EC_1602 = 'User cancelled installation - OR - Are you sure you want to cancel?' ;Local Const $MSI_EC_1602 = 'Are you sure you want to cancel?' Local Const $MSI_EC_1603 = 'Fatal error during installation - OR - The file %2%%3% is being held in use by the following process: Name: %4%, Id: %5%, Window Title: ''%6%''.' ;Local Const $MSI_EC_1603 = 'The file %2%%3% is being held in use by the following process: Name: %4%, Id: %5%, Window Title: ''%6%''.' Local Const $MSI_EC_1604 = 'Installation suspended, incomplete - OR - The product ''%2%'' is already installed, and has prevented the installation of this product.' ;Local Const $MSI_EC_1604 = 'The product ''%2%'' is already installed, and has prevented the installation of this product.' ;Local Const $MSI_EC_1605 = 'This action is only valid for products that are currently installed' Local Const $MSI_EC_1605 = 'This action is only valid for products that are currently installed - OR - Out of disk space -- Volume: ''%2%''; required space: %3% KB; available space: %4% KB. If rollback is disabled, enough space is available. Click ''Cancel'' to quit, ''Retry'' to check available disk space again, or ''Ignore'' to continue without rollback.' ;Local Const $MSI_EC_1606 = 'Feature ID not registered' Local Const $MSI_EC_1606 = 'Feature ID not registered - OR - Could not access location %2%.' ;Local Const $MSI_EC_1607 = 'Component ID not registered' Local Const $MSI_EC_1607 = 'Component ID not registered - OR - The following applications should be closed before continuing the install:' ;Local Const $MSI_EC_1608 = 'Unknown property' Local Const $MSI_EC_1608 = 'Unknown property - OR - Could not find any previously installed compliant products on the machine for installing this product' Local Const $MSI_EC_1609 = 'An error occurred while applying security settings. %2% is not a valid user or group. This could be a problem with the package, or a problem connecting to a domain controller on the network. Check your network connection and click Retry, or Cancel to end the install. Unable to locate the user''s SID, system error %3%' Local Const $MSI_EC_1610 = 'The configuration data for this product is corrupt. Contact your support personnel' Local Const $MSI_EC_1611 = 'Component qualifier not present' Local Const $MSI_EC_1612 = 'The installation source for this product is not available. Verify that the source exists and that you can access it' Local Const $MSI_EC_1613 = 'This installation package cannot be installed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service' Local Const $MSI_EC_1614 = 'Product is uninstalled' Local Const $MSI_EC_1615 = 'SQL query syntax invalid or unsupported' Local Const $MSI_EC_1616 = 'Record field does not exist' Local Const $MSI_EC_1618 = 'Another installation is already in progress. Complete that installation before proceeding with this install' Local Const $MSI_EC_1619 = 'This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package' Local Const $MSI_EC_1620 = 'This installation package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer package' Local Const $MSI_EC_1621 = 'There was an error starting the Windows Installer service user interface. Contact your support personnel' Local Const $MSI_EC_1622 = 'Error opening installation log file. Verify that the specified log file location exists and is writable' Local Const $MSI_EC_1623 = 'This language of this installation package is not supported by your system' Local Const $MSI_EC_1624 = 'Error applying transforms. Verify that the specified transform paths are valid' Local Const $MSI_EC_1625 = 'This installation is forbidden by system policy. Contact your system administrator' Local Const $MSI_EC_1626 = 'Function could not be executed' Local Const $MSI_EC_1627 = 'Function failed during execution' Local Const $MSI_EC_1628 = 'Invalid or unknown table specified' Local Const $MSI_EC_1629 = 'Data supplied is of wrong type' Local Const $MSI_EC_1630 = 'Data of this type is not supported' Local Const $MSI_EC_1631 = 'The Windows Installer service failed to start. Contact your support personnel' Local Const $MSI_EC_1632 = 'The temp folder is either full or inaccessible. Verify that the temp folder exists and that you can write to it' Local Const $MSI_EC_1633 = 'This installation package is not supported on this platform. Contact your application vendor' Local Const $MSI_EC_1634 = 'Component not used on this machine' Local Const $MSI_EC_1635 = 'This patch package could not be opened. Verify that the patch package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer patch package' Local Const $MSI_EC_1636 = 'This patch package could not be opened. Contact the application vendor to verify that this is a valid Windows Installer patch package' Local Const $MSI_EC_1637 = 'This patch package cannot be processed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service' Local Const $MSI_EC_1638 = 'Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel' Local Const $MSI_EC_1639 = 'Invalid command line argument. Consult the Windows Installer SDK for detailed command line help' Local Const $MSI_EC_1640 = 'Installation from a Terminal Server client session not permitted for current user' Local Const $MSI_EC_1641 = 'The installer has started a reboot. This error code not available on Windows Installer version 1.0' Local Const $MSI_EC_1642 = 'The installer cannot install the upgrade patch because the program being upgraded may be missing or the upgrade patch updates a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade patch. This error code is not available on Windows Installer version 1.0' Local Const $MSI_EC_1643 = 'The patch package is not permitted by system policy. This error code is available with Windows Installer versions 2.0 or later' Local Const $MSI_EC_1644 = 'One or more customizations are not permitted by system policy. This error code is available with Windows Installer versions 2.0 or later.' Local Const $MSI_EC_1701 = '%2% is not a valid entry for a product ID.' Local Const $MSI_EC_1702 = 'Configuring %2% cannot be completed until you restart your system. To restart now and resume configuration click Yes, or click No to stop this configuration.' Local Const $MSI_EC_1703 = 'For the configuration changes made to %2% to take effect you must restart your system. To restart now click Yes, or click No if you plan to manually restart at a later time.' Local Const $MSI_EC_1704 = 'An install for %2% is currently suspended. You must undo the changes made by that install to continue. Do you want to undo those changes?' Local Const $MSI_EC_1705 = 'A previous install for this product is in progress. You must undo the changes made by that install to continue. Do you want to undo those changes?' Local Const $MSI_EC_1706 = 'No valid source could be found for product %2%.' Local Const $MSI_EC_1707 = 'Installation operation completed successfully.' Local Const $MSI_EC_1708 = 'Installation operation failed.' Local Const $MSI_EC_1709 = 'Product: %2% -- %3%' Local Const $MSI_EC_1710 = 'You may either restore your computer to its previous state or continue the install later. Would you like to restore?' Local Const $MSI_EC_1711 = 'An error occurred while writing installation information to disk. Check to make sure enough disk space is available, and click Retry, or Cancel to end the install.' Local Const $MSI_EC_1712 = 'One or more of the files required to restore your computer to its previous state could not be found. Restoration will not be possible.' Local Const $MSI_EC_1713 = '%2% cannot install one of its required products. Contact your technical support group. System Error: %3%.' Local Const $MSI_EC_1714 = 'The older version of %2% cannot be removed. Contact your technical support group. System Error %3%.' Local Const $MSI_EC_1715 = 'Installed %2%.' Local Const $MSI_EC_1716 = 'Configured %2%.' Local Const $MSI_EC_1717 = 'Removed %2%.' Local Const $MSI_EC_1718 = 'File %2% was rejected by digital signature policy.' Local Const $MSI_EC_1719 = 'The Windows Installer Service could not be accessed. Contact your support personnel to verify that it is properly registered and enabled.' Local Const $MSI_EC_1720 = 'There is a problem with this Windows Installer package. A script required for this install to complete could not be run. Contact your support personnel or package vendor. Custom action %2% script error %3%, %4%: %5% Line %6%, Column %7%, %8%' Local Const $MSI_EC_1721 = 'There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor. Action: %2%, location: %3%, command: %4%' Local Const $MSI_EC_1722 = 'There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action %2%, location: %3%, command: %4%' Local Const $MSI_EC_1723 = 'There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action %2%, entry: %3%, library: %4%' Local Const $MSI_EC_1724 = 'Removal completed successfully.' Local Const $MSI_EC_1725 = 'Removal failed.' Local Const $MSI_EC_1726 = 'Advertisement completed successfully.' Local Const $MSI_EC_1727 = 'Advertisement failed.' Local Const $MSI_EC_1728 = 'Configuration completed successfully.' Local Const $MSI_EC_1729 = 'Configuration failed.' Local Const $MSI_EC_1730 = 'Removal failed.' Local Const $MSI_EC_1801 = 'The path %2% is not valid' Local Const $MSI_EC_1802 = 'Out of memory' Local Const $MSI_EC_1803 = 'There is no disk in drive %2%. Please, insert one and hit Retry, or hit Cancel to go back to the previously selected volume.' Local Const $MSI_EC_1804 = 'There is no disk in drive %2%. Please, insert one and hit Retry, or hit Cancel to return to the browse dialog and select a different volume.' Local Const $MSI_EC_1805 = 'The path %2% does not exist' Local Const $MSI_EC_1806 = 'You have insufficient privileges to read this folder.' Local Const $MSI_EC_1807 = 'A valid destination folder for the install could not be determined.' Local Const $MSI_EC_1901 = 'Error attempting to read from the source install database: %2%' Local Const $MSI_EC_1902 = 'Scheduling reboot operation: Renaming file %2% to %3%. Must reboot to complete operation.' Local Const $MSI_EC_1903 = 'Scheduling reboot operation: Deleting file %2%. Must reboot to complete operation.' Local Const $MSI_EC_1904 = 'Module %2% failed to register. HRESULT %3%.' Local Const $MSI_EC_1905 = 'Module %2% failed to unregister. HRESULT %3%.' Local Const $MSI_EC_1906 = 'Failed to cache package %2%. Error: %3%' Local Const $MSI_EC_1907 = 'Could not register font %2%. Verify that you that you have sufficient permissions to install fonts, and that the system supports this font.' Local Const $MSI_EC_1908 = 'Could not unregister font %2%. Verify that you that you have sufficient permissions to remove fonts.' Local Const $MSI_EC_1909 = 'Could not create Shortcut %2%. Verify that the destination folder exists and that you can access it.' Local Const $MSI_EC_1910 = 'Could not remove Shortcut %2%. Verify that the shortcut file exists and that you can access it.' Local Const $MSI_EC_1911 = 'Could not register type library for file %2%. Contact your support personnel.' Local Const $MSI_EC_1912 = 'Could not unregister type library for file %2%. Contact your support personnel.' Local Const $MSI_EC_1913 = 'Could not update the ini file %2%%3%. Verify that the file exists and that you can access it.' Local Const $MSI_EC_1914 = 'Could not schedule file %2% to replace file %3% on reboot. Verify that you have write permissions to file %3%.' Local Const $MSI_EC_1915 = 'Error removing ODBC driver manager, ODBC error %2%: %3%. Contact your support personnel.' Local Const $MSI_EC_1916 = 'Error installing ODBC driver manager, ODBC error %2%: %3%. Contact your support personnel.' Local Const $MSI_EC_1917 = 'Error removing ODBC driver: %4%, ODBC error %2%: %3%. Verify that you have sufficient privileges to remove ODBC drivers.' Local Const $MSI_EC_1918 = 'Error installing ODBC driver: %4%, ODBC error %2%: %3%. Verify that the file %4% exists and that you can access it.' Local Const $MSI_EC_1919 = 'Error configuring ODBC data source: %4%, ODBC error %2%: %3%. Verify that the file %4% exists and that you can access it.' Local Const $MSI_EC_1920 = 'Service ''%2%'' (%3%) failed to start. Verify that you have sufficient privileges to start system services.' Local Const $MSI_EC_1921 = 'Service ''%2%'' (%3%) could not be stopped. Verify that you have sufficient privileges to stop system services.' Local Const $MSI_EC_1922 = 'Service ''%2%'' (%3%) could not be deleted. Verify that you have sufficient privileges to remove system services.' Local Const $MSI_EC_1923 = 'Service ''%2%'' (%3%) could not be installed. Verify that you have sufficient privileges to install system services.' Local Const $MSI_EC_1924 = 'Could not update environment variable ''%2%''. Verify that you have sufficient privileges to modify environment variables.' Local Const $MSI_EC_1925 = 'You do not have sufficient privileges to complete this installation for all users of the machine. Log on as administrator and then retry this installation.' Local Const $MSI_EC_1926 = 'Could not set file security for file ''%3%''. Error: %2%. Verify that you have sufficient privileges to modify the security permissions for this file.' Local Const $MSI_EC_1927 = 'The installation requires COM+ Services to be installed.' Local Const $MSI_EC_1928 = 'The installation failed to install the COM+ Application.' Local Const $MSI_EC_1929 = 'The installation failed to remove the COM+ Application.' Local Const $MSI_EC_1930 = 'The description for service ''%2%'' (%3%) could not be changed.' Local Const $MSI_EC_1931 = 'The Windows Installer service cannot update the system file %2% because the file is protected by Windows. You may need to update your operating system for this program to work correctly. Package version: %3%, OS Protected version: %4%' Local Const $MSI_EC_1932 = 'The Windows Installer service cannot update the protected Windows file %2%. Package version: %3%, OS Protected version: %4%, SFP Error: %5%' Local Const $MSI_EC_1933 = 'The Windows Installer service cannot update one or more protected Windows files. SFP Error: %2%. List of protected files:\r\n%3%' Local Const $MSI_EC_1934 = 'User installations are disabled via policy on the machine.' Local Const $MSI_EC_1935 = 'An error occurred during the installation of assembly component %2%. HRESULT: %3%. {{assembly interface: %4%, function: %5%, assembly name: %6%}}' Local Const $MSI_EC_2101 = 'Shortcuts not supported by the OS' Local Const $MSI_EC_2102 = 'Invalid .INI action: %2%' Local Const $MSI_EC_2103 = 'Could not resolve path for shell folder %2%.' Local Const $MSI_EC_2104 = 'Writing .INI file: %3%: System error: %2%' Local Const $MSI_EC_2105 = 'Shortcut Creation %3% Failed. System error: %2%' Local Const $MSI_EC_2106 = 'Shortcut Deletion %3% Failed. System error: %2%' Local Const $MSI_EC_2107 = 'Error %3% registering type library %2%.' Local Const $MSI_EC_2108 = 'Error %3% unregistering type library %2%.' Local Const $MSI_EC_2109 = 'Section missing for INI action.' Local Const $MSI_EC_2110 = 'Key missing for INI action.' Local Const $MSI_EC_2111 = 'Detection of running apps failed, could not get perf. data. Reg operation returned : %2%.' Local Const $MSI_EC_2112 = 'Detection of running apps failed, could not get perf. index.Reg operation returned : %2%.' Local Const $MSI_EC_2113 = 'Detection of running apps failed.' Local Const $MSI_EC_2200 = 'Database: %2%. Database object creation failed, mode = %3%' Local Const $MSI_EC_2201 = 'Database: %2%. Initialization failed, out of memory' Local Const $MSI_EC_2202 = 'Database: %2%. Data access failed, out of memory' Local Const $MSI_EC_2203 = 'Database: %2%. Cannot open database file. System error %3%' Local Const $MSI_EC_2204 = 'Database: %2%. Table already exists: %3%' Local Const $MSI_EC_2205 = 'Database: %2%. Table does not exist: %3%' Local Const $MSI_EC_2206 = 'Database: %2%. Table could not be dropped: %3%' Local Const $MSI_EC_2207 = 'Database: %2%. Intent violation' Local Const $MSI_EC_2208 = 'Database: %2%. Insufficient parameters for Execute' Local Const $MSI_EC_2209 = 'Database: %2%. Cursor in invalid state' Local Const $MSI_EC_2210 = 'Database: %2%. Invalid update data type in column %3%' Local Const $MSI_EC_2211 = 'Database: %2%. Could not create database table %3%' Local Const $MSI_EC_2212 = 'Database: %2%. Database not in writable state' Local Const $MSI_EC_2213 = 'Database: %2%. Error saving database tables' Local Const $MSI_EC_2214 = 'Database: %2%. Error writing export file: %3%' Local Const $MSI_EC_2215 = 'Database: %2%. Cannot open import file: %3%' Local Const $MSI_EC_2216 = 'Database: %2%. Import file format error: %3%, Line %4%' Local Const $MSI_EC_2217 = 'Database: %2%. Wrong state to CreateOutputDatabase %3%.' Local Const $MSI_EC_2218 = 'Database: %2%. Table name not supplied.' Local Const $MSI_EC_2219 = 'Database: %2%. Invalid Installer database format' Local Const $MSI_EC_2220 = 'Database: %2%. Invalid row/field data' Local Const $MSI_EC_2221 = 'Database: %2%. Codepage conflict in import file: %3%.' Local Const $MSI_EC_2222 = 'Database: %2%. Transform or merge codepage %3% differs from database codepage %4%.' Local Const $MSI_EC_2223 = 'Database: %2%. Databases are the same. No transform generated.' Local Const $MSI_EC_2224 = 'Database: %2%. GenerateTransform: Database corrupt. Table: %3%' Local Const $MSI_EC_2225 = 'Database: %2%. Transform: Cannot transform a temporary table. Table: %3%' Local Const $MSI_EC_2226 = 'Database: %2%. Transform failed.' Local Const $MSI_EC_2227 = 'Database: %2%. Invalid identifier ''%3%'' in SQL query: %4%' Local Const $MSI_EC_2228 = 'Database: %2%. Unknown table ''%3%'' in SQL query: %4%' Local Const $MSI_EC_2229 = 'Database: %2%. Could not load table ''%3%'' in SQL query: %4%' Local Const $MSI_EC_2230 = 'Database: %2%. Repeated table ''%3%'' in SQL query: %4%' Local Const $MSI_EC_2231 = 'Database: %2%. Missing '')'' in SQL query: %3%' Local Const $MSI_EC_2232 = 'Database: %2%. Unexpected token ''%3%'' in SQL query: %4%' Local Const $MSI_EC_2233 = 'Database: %2%. No columns in SELECT clause in SQL query: %3%' Local Const $MSI_EC_2234 = 'Database: %2%. No columns in ORDER BY clause in SQL query: %3%' Local Const $MSI_EC_2235 = 'Database: %2%. Column ''%3%'' not present or ambiguous in SQL query: %4%' Local Const $MSI_EC_2236 = 'Database: %2%. Invalid operator ''%3%'' in SQL query: %4%' Local Const $MSI_EC_2237 = 'Database: %2%. Invalid or missing query string: %3%' Local Const $MSI_EC_2238 = 'Database: %2%. Missing FROM clause in SQL query: %3%' Local Const $MSI_EC_2239 = 'Database: %2%. Insufficent values in INSERT SQL stmt' Local Const $MSI_EC_2240 = 'Database: %2%. Missing update columns in UPDATE SQL stmt' Local Const $MSI_EC_2241 = 'Database: %2%. Missing insert columns in INSERT SQL stmt' Local Const $MSI_EC_2242 = 'Database: %2%. Column ''%3%'' repeated' Local Const $MSI_EC_2243 = 'Database: %2%. No primary columns defined for table creation' Local Const $MSI_EC_2244 = 'Database: %2%. Invalid type specifier ''%3%'' in SQL query %4%.' Local Const $MSI_EC_2245 = 'IStorage::Stat failed with error %3%' Local Const $MSI_EC_2246 = 'Database: %2%. Invalid Installer transform format.' Local Const $MSI_EC_2247 = 'Database: %2% Transform stream read/write failure.' Local Const $MSI_EC_2248 = 'Database: %2% GenerateTransform/Merge: Column type in base table doesn''t match reference table. Table: %3% Col #: %4%' Local Const $MSI_EC_2249 = 'Database: %2% GenerateTransform: More columns in base table than in reference table. Table: %3%' Local Const $MSI_EC_2250 = 'Database: %2% Transform: Cannot add existing row. Table: %3%' Local Const $MSI_EC_2251 = 'Database: %2% Transform: Cannot delete row that doesn''t exist. Table: %3%' Local Const $MSI_EC_2252 = 'Database: %2% Transform: Cannot add existing table. Table: %3%' Local Const $MSI_EC_2253 = 'Database: %2% Transform: Cannot delete table that doesn''t exist. Table: %3%' Local Const $MSI_EC_2254 = 'Database: %2% Transform: Cannot update row that doesn''t exist. Table: %3%' Local Const $MSI_EC_2255 = 'Database: %2% Transform: Column with this name already exists. Table: %3% Col: %4%' Local Const $MSI_EC_2256 = 'Database: %2% GenerateTransform/Merge: Number of primary keys in base table doesn''t match reference table. Table: %3%' Local Const $MSI_EC_2257 = 'Database: %2%. Intent to modify read only table: %3%' Local Const $MSI_EC_2258 = 'Database: %2%. Type mismatch in parameter: %3%' Local Const $MSI_EC_2259 = 'Database: %2% Table(s) Update failed' Local Const $MSI_EC_2260 = 'Storage CopyTo failed. System error: %3%' Local Const $MSI_EC_2261 = 'Could not remove stream %2%. System error: %3%' Local Const $MSI_EC_2262 = 'Stream does not exist: %2%. System error: %3%' Local Const $MSI_EC_2263 = 'Could not open stream %2%. System error: %3%' Local Const $MSI_EC_2264 = 'Could not remove stream %2%. System error: %3%' Local Const $MSI_EC_2265 = 'Could not commit storage. System error: %3%' Local Const $MSI_EC_2266 = 'Could not rollback storage. System error: %3%' Local Const $MSI_EC_2267 = 'Could not delete storage %2%. System error: %3%' Local Const $MSI_EC_2268 = 'Database: %2%. Merge: There were merge conflicts reported in %3% tables' Local Const $MSI_EC_2269 = 'Database: %2%. Merge: The column count differed in the ''%3%'' table of the two databases' Local Const $MSI_EC_2270 = 'Database: %2%. GenerateTransform/Merge: Column name in base table doesn''t match reference table. Table: %3% Col #: %4%' Local Const $MSI_EC_2271 = 'SummaryInformation write for transform failed' Local Const $MSI_EC_2272 = 'Database: %2%. MergeDatabase will not write any changes because the database is open read-only.' Local Const $MSI_EC_2273 = 'Database: %2%. MergeDatabase: A reference to the base database was passed as the reference database.' Local Const $MSI_EC_2274 = 'Database: %2%. MergeDatabase: Unable to write errors to Error table. Could be due to a non-nullable column in a predefined Error table.' Local Const $MSI_EC_2275 = 'Database: %2%. Specified Modify %3% operation invalid for table joins.' Local Const $MSI_EC_2276 = 'Database: %2%. Codepage %3% not supported by the system.' Local Const $MSI_EC_2277 = 'Database: %2%. Failed to save table %3%.' Local Const $MSI_EC_2278 = 'Database: %2%. Exceeded number of expressions limit of 32 in WHERE clause of SQL query: %3%.' Local Const $MSI_EC_2279 = 'Database: %2% Transform: Too many columns in base table %3%' Local Const $MSI_EC_2280 = 'Database: %2%. Could not create column %3% for table %4%' Local Const $MSI_EC_2281 = 'Could not rename stream %2%. System error: %3%' Local Const $MSI_EC_2282 = 'Stream name invalid %2%.' Local Const $MSI_EC_2302 = 'Patch notify: %2% bytes patched to far.' Local Const $MSI_EC_2303 = 'Error getting volume info. GetLastError: %2%' Local Const $MSI_EC_2304 = 'Error getting disk free space. GetLastError: %2%. Volume: %3%' Local Const $MSI_EC_2305 = 'Error waiting for patch thread. GetLastError: %2%.' Local Const $MSI_EC_2306 = 'Could not create thread for patch application. GetLastError: %2%.' Local Const $MSI_EC_2307 = 'Source file key name is null.' Local Const $MSI_EC_2308 = 'Destination File Name is Null' Local Const $MSI_EC_2309 = 'Attempting to patch file %2% when patch already in progress.' Local Const $MSI_EC_2310 = 'Attempting to continue patch when no patch is in progress.' Local Const $MSI_EC_2315 = 'Missing Path Separator: %2%' Local Const $MSI_EC_2318 = 'File does not exist: %2%' Local Const $MSI_EC_2319 = 'Error setting file attribute: %3% GetLastError: %2%' Local Const $MSI_EC_2320 = 'File not writable: %2%' Local Const $MSI_EC_2321 = 'Error creating file: %2%' Local Const $MSI_EC_2322 = 'User cancelled' Local Const $MSI_EC_2323 = 'Invalid File Attribute' Local Const $MSI_EC_2324 = 'Could not open file: %3% GetLastError: %2%' Local Const $MSI_EC_2325 = 'Could not get file time for file: %3% GetLastError: %2%' Local Const $MSI_EC_2326 = 'Error in FileToDosDateTime.' Local Const $MSI_EC_2327 = 'Could not remove directory: %3% GetLastError: %2%' Local Const $MSI_EC_2328 = 'Error getting file version info for file: %2%' Local Const $MSI_EC_2329 = 'Error deleting file: %3%. GetLastError: %2%' Local Const $MSI_EC_2330 = 'Error getting file attributes: %3%. GetLastError: %2%' Local Const $MSI_EC_2331 = 'Error loading library %2% or finding entry point %3%' Local Const $MSI_EC_2332 = 'Error getting file attributes. GetLastError: %2%' Local Const $MSI_EC_2333 = 'Error setting file attributes. GetLastError: %2%' Local Const $MSI_EC_2334 = 'Error converting file time to local time for file: %3%. GetLastError: %2%' Local Const $MSI_EC_2335 = 'Path: %2% is not a parent of %3%' Local Const $MSI_EC_2336 = 'Error creating temp file on path: %3%. GetLastError: %2%' Local Const $MSI_EC_2337 = 'Could not close file: %3% GetLastError: %2%' Local Const $MSI_EC_2338 = 'Could not update resource for file: %3% GetLastError: %2%' Local Const $MSI_EC_2339 = 'Could not set file time for file: %3% GetLastError: %2%' Local Const $MSI_EC_2340 = 'Could not update resource for file: %3%, Missing Resource' Local Const $MSI_EC_2341 = 'Could not update resource for file: %3%, Resource too large' Local Const $MSI_EC_2342 = 'Could not update resource for file: %3% GetLastError: %2%' Local Const $MSI_EC_2343 = 'Specified path is empty.' Local Const $MSI_EC_2344 = 'Could not find required file IMAGEHLP.DLL to validate file:%2%' Local Const $MSI_EC_2345 = '%2%: File does not contain a valid checksum value.' Local Const $MSI_EC_2347 = 'User Ignore' Local Const $MSI_EC_2348 = 'Error attempting to read from cabinet stream.' Local Const $MSI_EC_2349 = 'Copy Resumed With Different Info' Local Const $MSI_EC_2350 = 'FDI Server Error' Local Const $MSI_EC_2351 = 'File key ''%2%'' not found in cabinet ''%3%''. The installation cannot continue.' Local Const $MSI_EC_2352 = 'Couldn''t initialize cabinet file server. The required file ''Cabinet.dll'' may be missing.' Local Const $MSI_EC_2353 = 'Not a cabinet' Local Const $MSI_EC_2354 = 'Cannot handle cabinet' Local Const $MSI_EC_2355 = 'Corrupt cabinet' Local Const $MSI_EC_2356 = 'Couldn''t locate cabinet in stream: %2%.' Local Const $MSI_EC_2357 = 'Cannot set attributes' Local Const $MSI_EC_2358 = 'Error determining whether file is in-use: %3%. GetLastError: %2%' Local Const $MSI_EC_2359 = 'Unable to create the target file - file may be in use.' Local Const $MSI_EC_2360 = 'progress tick.' Local Const $MSI_EC_2361 = 'Need next cabinet.' Local Const $MSI_EC_2362 = 'Folder not found: %2%' Local Const $MSI_EC_2363 = 'Could not enumerate subfolders for folder: %2%' Local Const $MSI_EC_2364 = 'Bad enumeration Local Constant in CreateCopier call.' Local Const $MSI_EC_2365 = 'Could not BindImage exe file %2%' Local Const $MSI_EC_2366 = 'User Failure' Local Const $MSI_EC_2367 = 'User Abort.' Local Const $MSI_EC_2368 = 'Failed to get network resource information. Error %2%, network path %3%. Extended error: network provider %5%, error code %4%, error description %6%.' Local Const $MSI_EC_2371 = 'Could not apply patch to file %2%. GetLastError: %3%' Local Const $MSI_EC_2372 = 'Patch file %2% is corrupt or of an invalid format. Attempting to patch file %3%. GetLastError: %4%' Local Const $MSI_EC_2373 = 'File %2% is not a valid patch file.' Local Const $MSI_EC_2374 = 'File %2% is not a valid destination file for patch file %3%.' Local Const $MSI_EC_2375 = 'Unknown patching error: %2%.' Local Const $MSI_EC_2376 = 'Cabinet not found.' Local Const $MSI_EC_2379 = 'Error opening file for read: %3% GetLastError: %2%' Local Const $MSI_EC_2380 = 'Error opening file for write: %3% GetLastError: %2%' Local Const $MSI_EC_2381 = 'Directory does not exist: %2%' Local Const $MSI_EC_2382 = 'Drive not ready: %2%' Local Const $MSI_EC_2501 = 'Could not create rollback script enumerator' Local Const $MSI_EC_2502 = 'Called InstallFinalize when no install in progress.' Local Const $MSI_EC_2503 = 'Called RunScript when not marked in progress.' Local Const $MSI_EC_2601 = 'Invalid value for property %2%: ''%3%''' Local Const $MSI_EC_2602 = 'The %2% table entry ''%3%'' has no associated entry in the Media table.' Local Const $MSI_EC_2603 = 'Duplicate Table Name %2%' Local Const $MSI_EC_2604 = '%2% property undefined.' Local Const $MSI_EC_2605 = 'Could not find server %2% in %3% or %4%.' Local Const $MSI_EC_2606 = 'Value of property %2% is not a valid full path: ''%3%''.' Local Const $MSI_EC_2607 = 'Media table not found or empty (required for installation of files).' Local Const $MSI_EC_2608 = 'Could not create security descriptor for object. Error: ''%2%''.' Local Const $MSI_EC_2609 = 'Attempt to migrate product settings before initialization.' Local Const $MSI_EC_2611 = 'The file %2% is marked as compressed, but the associated media entry does not specify a cabinet.' Local Const $MSI_EC_2612 = 'Stream not found in ''%2%'' column. Primary key: ''%3%''.' Local Const $MSI_EC_2613 = 'RemoveExistingProducts action sequenced incorrectly.' Local Const $MSI_EC_2614 = 'Could not access IStorage object from installation package.' Local Const $MSI_EC_2615 = 'Skipped unregistration of Module %2% due to source resolution failure.' Local Const $MSI_EC_2616 = 'Companion file %2% parent missing.' Local Const $MSI_EC_2617 = 'Shared component %2% not found in Component table.' Local Const $MSI_EC_2618 = 'Isolated application component %2% not found in Component table.' Local Const $MSI_EC_2619 = 'Isolated components %2%, %3% not part of same feature.' Local Const $MSI_EC_2620 = 'Key file of isolated application component %2% not in File table.' Local Const $MSI_EC_2701 = 'The Component Table exceeds the acceptable tree depth of %2% levels.' Local Const $MSI_EC_2702 = 'A Feature Table record (%2%) references a non-existent parent in the Attributes field.' Local Const $MSI_EC_2703 = 'Property name for root source path not defined: %2%' Local Const $MSI_EC_2704 = 'Root directory property undefined: %2%' Local Const $MSI_EC_2705 = 'Invalid table: %2%; Could not be linked as tree.' Local Const $MSI_EC_2706 = 'Source paths not created. No path exists for entry %2% in Directory Table' Local Const $MSI_EC_2707 = 'Target paths not created. No path exists for entry %2% in Directory Table' Local Const $MSI_EC_2708 = 'No entries found in the file table.' Local Const $MSI_EC_2709 = 'The specified Component name (''%2%'') not found in Component Table.' Local Const $MSI_EC_2710 = 'The requested ''Select'' state is illegal for this Component.' Local Const $MSI_EC_2711 = 'The specified Feature name (''%2%'') not found in Feature Table.' Local Const $MSI_EC_2712 = 'Invalid return from modeless dialog: %3%, in action %2%.' Local Const $MSI_EC_2713 = 'Null value in a non-nullable column (''%2%'' in ''%3%'' column of the ''%4%'' table.' Local Const $MSI_EC_2714 = 'Invalid value for default folder name: %2%.' Local Const $MSI_EC_2715 = 'The specified File key (''%2%'') not found in the File Table.' Local Const $MSI_EC_2716 = 'Couldn''t create a random subcomponent name for component ''%2%''.' Local Const $MSI_EC_2717 = 'Bad action condition or error calling custom action ''%2%''.' Local Const $MSI_EC_2718 = 'Missing package name for product code ''%2%''.' Local Const $MSI_EC_2719 = 'Neither UNC nor drive letter path found in source ''%2%''.' Local Const $MSI_EC_2720 = 'Error opening sourcelist key. Error: ''%2%''' Local Const $MSI_EC_2721 = 'Custom action %2% not found in Binary table stream' Local Const $MSI_EC_2722 = 'Custom action %2% not found in File table' Local Const $MSI_EC_2723 = 'Custom action %2% specifies unsupported type' Local Const $MSI_EC_2724 = 'The volume label ''%2%'' on the media you''re running from doesn''t match the label ''%3%'' given in the Media table. This is allowed only if you have only 1 entry in your Media table.' Local Const $MSI_EC_2725 = 'Invalid database tables' Local Const $MSI_EC_2726 = 'Action not found: %2%' Local Const $MSI_EC_2727 = 'The directory entry ''%2%'' does not exist in the Directory table' Local Const $MSI_EC_2728 = 'Table definition error: %2%' Local Const $MSI_EC_2729 = 'Install engine not initialized.' Local Const $MSI_EC_2730 = 'Bad value in database. Table: ''%2%''; Primary key: ''%3%''; Column: ''%4%''' Local Const $MSI_EC_2731 = 'Selection Manager not initialized.' Local Const $MSI_EC_2732 = 'Directory Manager not initialized.' Local Const $MSI_EC_2733 = 'Bad foreign key (''%2%'') in ''%3%'' column of the ''%4%'' table.' Local Const $MSI_EC_2734 = 'Invalid Reinstall mode character.' Local Const $MSI_EC_2735 = 'Custom action terminated prematurely: %2%' Local Const $MSI_EC_2736 = 'Generation of custom action temp file failed: %2%' Local Const $MSI_EC_2737 = 'Could not access custom action %2%, entry %3%, library %4%' Local Const $MSI_EC_2738 = 'Could not access VBScript runtime for custom action %2%' Local Const $MSI_EC_2739 = 'Could not access Javascript runtime for custom action %2%' Local Const $MSI_EC_2740 = 'Custom action %2% script error %3%, %4%: %5% Line %6%, Column %7%, %8%' Local Const $MSI_EC_2741 = 'Configuration information for product %2% is corrupt. Invalid info: %2%' Local Const $MSI_EC_2742 = 'Marshaling to Server failed: %2%' Local Const $MSI_EC_2743 = 'Could not execute custom action %2%, location: %3%, command: %4%' Local Const $MSI_EC_2744 = 'EXE failed called by custom action %2%, location: %3%, command: %4%' Local Const $MSI_EC_2745 = 'Transform %2% invalid for package %3%. Expected language %4%, found language %5%.' Local Const $MSI_EC_2746 = 'Transform %2% invalid for package %3%. Expected product %4%, found product %5%.' Local Const $MSI_EC_2747 = 'Transform %2% invalid for package %3%. Expected product version < %4%, found product version %5%.' Local Const $MSI_EC_2748 = 'Transform %2% invalid for package %3%. Expected product version <= %4%, found product version %5%.' Local Const $MSI_EC_2749 = 'Transform %2% invalid for package %3%. Expected product version == %4%, found product version %5%.' Local Const $MSI_EC_2750 = 'Transform %2% invalid for package %3%. Expected product version >= %4%, found product version %5%.' Local Const $MSI_EC_2751 = 'Transform %2% invalid for package %3%. Expected product version > %4%, found product version %5%.' Local Const $MSI_EC_2752 = 'Could not open transform %2% stored as child storage of package %4%.' Local Const $MSI_EC_2753 = 'The File ''%2%'' is not marked for installation.' Local Const $MSI_EC_2754 = 'The File ''%2%'' is not a valid patch file.' Local Const $MSI_EC_2755 = 'Server returned unexpected error %2% attempting to install package %3%.' Local Const $MSI_EC_2756 = 'The property ''%2%'' was used as a directory property in one or more tables, but no value was ever assigned.' Local Const $MSI_EC_2757 = 'Could not create summary info for transform %2%.' Local Const $MSI_EC_2758 = 'Transform %2% doesn''t contain a MSI version.' Local Const $MSI_EC_2759 = 'Transform %2% version %3% incompatible with engine; Min: %4%, Max: %5%.' Local Const $MSI_EC_2760 = 'Transform %2% invalid for package %3%. Expected upgrade code %4%, found %5%.' Local Const $MSI_EC_2761 = 'Cannot begin transaction. Global mutex not properly initialized.' Local Const $MSI_EC_2762 = 'Cannot write script record. Transaction not started.' Local Const $MSI_EC_2763 = 'Cannot run script. Transaction not started.' Local Const $MSI_EC_2769 = 'Custom Action %2% did not close %3% MSIHANDLEs.' Local Const $MSI_EC_2801 = 'Unknown Message -- Type %2%. No action is taken' Local Const $MSI_EC_2802 = 'No publisher is found for the event %2%' Local Const $MSI_EC_2803 = 'Dialog View did not find a record for the dialog %2%' Local Const $MSI_EC_2804 = 'On activation of the control %3% on dialog %2% CMsiDialog failed to evaluate the condition %3%' Local Const $MSI_EC_2805 = '' Local Const $MSI_EC_2806 = 'The dialog %2% failed to evaluate the condition %3%' Local Const $MSI_EC_2807 = 'The action %2% is not recognized' Local Const $MSI_EC_2808 = 'Default button is illdefined on dialog %2%' Local Const $MSI_EC_2809 = 'On the dialog %2% the next control pointers do not form a cycle.There is a pointer from %3% to %4%, but there is no further pointer' Local Const $MSI_EC_2810 = 'On the dialog %2% the next control pointers do not form a cycle.There is a pointer from both %3% and %5% to %4%' Local Const $MSI_EC_2811 = 'On dialog %2% control %3% has to take focus, but it is unable to do so' Local Const $MSI_EC_2812 = 'The event %2% is not recognized' Local Const $MSI_EC_2813 = 'The EndDialog event was called with the argument %2%, but the dialog has a parent' Local Const $MSI_EC_2814 = 'On the dialog %2% the control %3% names a non-existent control %4% as the next control' Local Const $MSI_EC_2815 = 'ControlCondition table has a row without condition for the dialog %2%' Local Const $MSI_EC_2816 = 'The EventMapping table refers to an invalid control %4% on dialog %2% for the event %3%' Local Const $MSI_EC_2817 = 'The event %2% failed to set the attribute for the control %4% on dialog %3%' Local Const $MSI_EC_2818 = 'In the ControlEvent table EndDialog has an unrecognized argument %2%' Local Const $MSI_EC_2819 = 'Control %3% on dialog %2% needs a property linked to it' Local Const $MSI_EC_2820 = 'Attempted to initialize an already initialized handler' Local Const $MSI_EC_2821 = 'Attempted to initialize an already initialized dialog: %2%' Local Const $MSI_EC_2822 = 'No other method can be called on dialog %2% untill all the controls are added' Local Const $MSI_EC_2823 = 'Attempted to initialize an already initialized control: %3% on dialog %2%' Local Const $MSI_EC_2824 = 'The dialog attribute %3% needs a record of at least %2% field(s)' Local Const $MSI_EC_2825 = 'The control attribute %3% needs a record of at least %2% field(s)' Local Const $MSI_EC_2826 = 'Control %3% on dialog %2% extends beyond the boundaries of the dialog %4% by %5% pixels' Local Const $MSI_EC_2827 = 'The button %4% on the radiobutton group %3% on dialog %2% extends beyond the boundaries of the group %5% by %6% pixels' Local Const $MSI_EC_2828 = 'Tried to remove control %3% from dialog %2%, but the control is not part of the dialog' Local Const $MSI_EC_2829 = 'Attempt to use an uninitialized dialog' Local Const $MSI_EC_2830 = 'Attempt to use an uninitialized control on dialog %2%' Local Const $MSI_EC_2831 = 'The control %3% on dialog %2% does not support %5% the attribute %4%' Local Const $MSI_EC_2832 = 'The dialog %2% does not support the attribute %3%' Local Const $MSI_EC_2833 = 'Control %4% on dialog %3% ignored the message %2%' Local Const $MSI_EC_2834 = 'The next pointers on the dialog %2% do not form a single loop' Local Const $MSI_EC_2835 = 'The control %2% was not found on dialog %3%' Local Const $MSI_EC_2836 = 'The control %3% on the dialog %2% can not take focus' Local Const $MSI_EC_2837 = 'The control %3% on dialog %2% wants the winproc to return %4%' Local Const $MSI_EC_2838 = 'The item %2% in the selection table has itself as a parent' Local Const $MSI_EC_2839 = 'Setting the property %2% failed' Local Const $MSI_EC_2840 = 'Error dialog name mismatch' Local Const $MSI_EC_2841 = 'No OK button was found on the error dialog' Local Const $MSI_EC_2842 = 'No text field was found on the error dialog' Local Const $MSI_EC_2843 = 'The ErrorString attribute is not supported for standard dialogs' Local Const $MSI_EC_2844 = 'Can not execute an error dialog if the errorstring is not set' Local Const $MSI_EC_2845 = 'The total width of the buttons exceeds the size of the error dialog' Local Const $MSI_EC_2846 = 'SetFocus did not find the required control on the error dialog' Local Const $MSI_EC_2847 = 'The control %3% on dialog %2% has both the icon and the bitmap style set' Local Const $MSI_EC_2848 = 'Tried to set control %3% as the default button on dialog %2%, but the control does not exist' Local Const $MSI_EC_2849 = 'The control %3% on dialog %2% is of a type, that can not be integer valued' Local Const $MSI_EC_2850 = 'Unrecognized volume type' Local Const $MSI_EC_2851 = 'The data for the icon %2% is not valid' Local Const $MSI_EC_2852 = 'At least one control has to be added to dialog %2% before it is used' Local Const $MSI_EC_2853 = 'Dialog %2% is a modeless dialog. The execute method should not be called on it' Local Const $MSI_EC_2854 = 'On the dialog %2% the control %3% is designated as first active control, but there is no such control' Local Const $MSI_EC_2855 = 'The radiobutton group %3% on dialog %2% has fewer than 2 buttons' Local Const $MSI_EC_2856 = 'Creating a second copy of the dialog %2%' Local Const $MSI_EC_2857 = 'The directory %2% is mentioned in the selection table but not found' Local Const $MSI_EC_2858 = 'The data for the bitmap %2% is not valid' Local Const $MSI_EC_2859 = 'Test error message' Local Const $MSI_EC_2860 = 'Cancel button is illdefined on dialog %2%' Local Const $MSI_EC_2861 = 'The next pointers for the radiobuttons on dialog %2% control %3% do not form a cycle' Local Const $MSI_EC_2862 = 'The attributes for the control %3% on dialog %2% do not define a valid icon size. Setting the size to 16' Local Const $MSI_EC_2863 = 'The control %3% on dialog %2% needs the icon %4% in size %5%x%5%, but that size is not available. Loading the first available size' Local Const $MSI_EC_2864 = 'The control %3% on dialog %2% received a browse event, but there is no configurable directory for the present selection. Likely cause: browse button is not authored correctly' Local Const $MSI_EC_2865 = 'Control %3% on billboard %2% extends beyond the boundaries of the billboard %4% by %5% pixels' Local Const $MSI_EC_2866 = 'The dialog %2% is not allowed to return the argument %3%' Local Const $MSI_EC_2867 = 'The error dialog property is not set' Local Const $MSI_EC_2868 = 'The error dialog %2% does not have the error style bit set' Local Const $MSI_EC_2869 = 'The dialog %2% has the error style bit set, but is not an error dialog' Local Const $MSI_EC_2870 = 'The help string %4% for control %3% on dialog %2% does not contain the separator character' Local Const $MSI_EC_2871 = 'The %2% table is out of date: %3%' Local Const $MSI_EC_2872 = 'The argument of the CheckPath control event on dialog %2% is invalid' Local Const $MSI_EC_2873 = 'On the dialog %2% the control %3% has an invalid string length limit: %4%' Local Const $MSI_EC_2874 = 'Changing the text font to %2% failed' Local Const $MSI_EC_2875 = 'Changing the text color to %2% failed' Local Const $MSI_EC_2876 = 'The control %3% on dialog %2% had to truncate the string: %4%' Local Const $MSI_EC_2877 = 'The binary data %2% was not found' Local Const $MSI_EC_2878 = 'On the dialog %2% the control %3% has a possible value: %4%. This is an invalid or duplicate value.' Local Const $MSI_EC_2879 = 'The control %3% on dialog %2% can not parse the mask string: %4%' Local Const $MSI_EC_2880 = 'Do not perform the remaining control events.' Local Const $MSI_EC_2881 = 'CMsiHandler initialization failed' Local Const $MSI_EC_2882 = 'Dialog window class registration failed' Local Const $MSI_EC_2883 = 'CreateNewDialog failed for the dialog %2%' Local Const $MSI_EC_2884 = 'Failed to create a window for the dialog %2%!' Local Const $MSI_EC_2885 = 'Failed to create the control %3% on the dialog %2%' Local Const $MSI_EC_2886 = 'Creating the %2% table failed' Local Const $MSI_EC_2887 = 'Creating a cursor to the %2% table failed' Local Const $MSI_EC_2888 = 'Executing the %2% view failed' Local Const $MSI_EC_2889 = 'Creating the window for the control %3% on dialog %2% failed' Local Const $MSI_EC_2890 = 'The handler failed in creating an unitialized dialog' Local Const $MSI_EC_2891 = 'Failed to destroy window for dialog %2%' Local Const $MSI_EC_2892 = '%2% is an integer only control, %3% is not a valid integer value' Local Const $MSI_EC_2893 = 'The control %3% on dialog %2% can accept property values that are at most %5% characters long. The value %4% exceeds this limit, and has been truncated.' Local Const $MSI_EC_2894 = 'Loading RichEd20.dll failed. GetLastError() returned: %2%' Local Const $MSI_EC_2895 = 'Freeing RichEd20.dll failed. GetLastError() returned: %2%' Local Const $MSI_EC_2896 = 'Executing action %2% failed.' Local Const $MSI_EC_2897 = 'Failed to create any %2% font on this system.' Local Const $MSI_EC_2898 = 'For %2% textstyle, the system created a ''%3%'' font, in %4% character set.' Local Const $MSI_EC_2899 = 'Failed to create %2% textstyle. GetLastError() returned: %3%.' Local Const $MSI_EC_2901 = 'Invalid parameter to operation %2%: Parameter %3%' Local Const $MSI_EC_2902 = 'Operation %2% called out of sequence.' Local Const $MSI_EC_2903 = 'The file %2% is missing' Local Const $MSI_EC_2904 = 'Could not BindImage file %2%.' Local Const $MSI_EC_2905 = 'Could not read record from script file %2%.' Local Const $MSI_EC_2906 = 'Missing header in script file %2%.' Local Const $MSI_EC_2907 = 'Could not create secure security descriptor. Error: %2%' Local Const $MSI_EC_2908 = 'Could not register component %2%.' Local Const $MSI_EC_2909 = 'Could not unregister component %2%.' Local Const $MSI_EC_2910 = 'Could not determine user''s security id.' Local Const $MSI_EC_2911 = 'Could not remove the folder %2%.' Local Const $MSI_EC_2912 = 'Could not schedule file %2% for removal on reboot.' Local Const $MSI_EC_2919 = 'No cabinet specified for compressed file: %2%' Local Const $MSI_EC_2920 = 'Source directory not specified for file %2%.' Local Const $MSI_EC_2924 = 'Script %2% version unsupported. Script version: %3%, minimum version: %4%, maximum version: %5%.' Local Const $MSI_EC_2927 = 'ShellFolder id %2% is invalid.' Local Const $MSI_EC_2928 = 'Exceeded maximum number of sources. Skipping source ''%2%''.' Local Const $MSI_EC_2929 = 'Could not determine publishing root. Error: %2%' Local Const $MSI_EC_2932 = 'Could not create file %2% from script data. Error: %3%' Local Const $MSI_EC_2933 = 'Could not initialize rollback script %2%.' Local Const $MSI_EC_2934 = 'Could not secure transform %2%. Error %3%' Local Const $MSI_EC_2935 = 'Could not un-secure transform %2%. Error %3%' Local Const $MSI_EC_2936 = 'Could not find transform %2%.' Local Const $MSI_EC_2937 = 'The Windows Installer cannot install a system file protection catalog. Catalog: %2%, Error: %3%' Local Const $MSI_EC_2938 = 'The Windows Installer cannot retrieve a system file protection catalog from the cache. Catalog: %2%, Error: %3%' Local Const $MSI_EC_2939 = 'The Windows Installer cannot delete a system file protection catalog from the cache. Catalog: %2%, Error: %3%' Local Const $MSI_EC_2940 = 'Directory Manager not supplied for source resolution.' Local Const $MSI_EC_2941 = 'Failed to check CRC for file %2%.' Local Const $MSI_EC_2942 = 'BindImage action has not been executed on %2% file.' Local Const $MSI_EC_2943 = 'This version of Windows does not support deploying 64-bit packages. The script %2% is for a 64-bit package.' Local Const $MSI_EC_3010 = 'A reboot is required to complete the install. This does not include installs where the ForceReboot action is run.' #EndRegion ;=============================================================================== ; ; Function Name: _MSI_ReturnCode() ; Description: LookUp for MsiExec Return Codes ; Parameter(s): $CodeValue - Exit Code as returned from MsiExec ; Requirement(s): None. ; Return Value(s): On Success - Correlating description ; On Failure - 'Unidetifieed Error Code: ' & $CodeValue ; Author(s): Dane Jones <danerjones at gmail dot com> ; Note(s): None. ;=============================================================================== Func _MSI_ReturnCode($CodeValue) Local $Result = Execute('$MSI_RC_' & $CodeValue) If $Result = '' Then $Result = 'Unidetifieed Return Code: ' & $CodeValue Return $Result EndFunc ;==>_MSI_ReturnCode ;=============================================================================== ; ; Function Name: _MSI_ErrorCode() ; Description: LookUp for MsiExec Log Error Codes ; Parameter(s): $CodeValue - Error Code as listed in from MsiExec's log ; Requirement(s): None. ; Return Value(s): On Success - Correlating description ; On Failure - 'Unidetifieed Error Code: ' & $CodeValue ; Author(s): Dane Jones <danerjones at gmail dot com> ; Note(s): None. ;=============================================================================== Func _MSI_ErrorCode($CodeValue) Local $Result = Execute('$MSI_EC_' & $CodeValue) If $Result = '' Then $Result = 'Unidetifieed Error Code: ' & $CodeValue Return $Result EndFunc ;==>_MSI_ErrorCode1 point