ptrex Posted July 30, 2007 Share Posted July 30, 2007 (edited) MSI Editor - a Database ? Some time ago some guys where discussing a topic about running a MSI file in AU3. This lead to this thread. For those who don't know MSI. The Windows Installer (previously known as Microsoft Installer, codename Darwin) is an engine for the installation, maintenance, and removal of software on modern Microsoft Windows systems. The installation information, and often the files themselves, are packaged in installation packages, loosely relational databases structured as OLE Structured Storage Files and commonly known as "MSI files", From Wikipedia, the free encyclopedia. For those who are interested in building an MSI file, this is the MS Opensource alternative (from MS itself) WiX - Opensource MSI This Editor written in AU3 let you edit the content of an MSI file. You will find plenty of them on you harddrive as I presume. Well for most of you it will be a revelation that an MSI file is in fact a DB. So you can use the MSI to store data in. As a replacement for MS Access or SQLite or whatever. Nevertheless a new database is old wine in new bags for AU3 users. There are plenty of alternatives. So why create an editor than ? Well here is where the fun starts. An MSI file contains conditions that influences the installation of an application. And some times you want to change that. Because the build in rules prevent you from installing the apps. Let's give an practical example where a software builder, built in a rule that says that his software only runs on a machine with the OS XP. Well now you have a machine with VISTA. This way you can alter the content of the MSI and get rid of the rule that prevents you from installing. Some functions still need improving, but this will give you already a good idea of what I am talking about. MSI_EditorGui.au3 New Version for 3.2.11.12 Added support for *.MSP files. Thanks to IGORM. MSI_EditorGui_New.au3 Enjoy !! regards, ptrex Edited September 14, 2012 by ptrex Contributions :Firewall Log Analyzer for XP - Creating COM objects without a need of DLL's - UPnP support in AU3Crystal Reports Viewer - PDFCreator in AutoIT - Duplicate File FinderSQLite3 Database functionality - USB Monitoring - Reading Excel using SQLRun Au3 as a Windows Service - File Monitor - Embedded Flash PlayerDynamic Functions - Control Panel Applets - Digital Signing Code - Excel Grid In AutoIT - Constants for Special Folders in WindowsRead data from Any Windows Edit Control - SOAP and Web Services in AutoIT - Barcode Printing Using PS - AU3 on LightTD WebserverMS LogParser SQL Engine in AutoIT - ImageMagick Image Processing - Converter @ Dec - Hex - Bin -Email Address Encoder - MSI Editor - SNMP - MIB ProtocolFinancial Functions UDF - Set ACL Permissions - Syntax HighLighter for AU3ADOR.RecordSet approach - Real OCR - HTTP Disk - PDF Reader Personal Worldclock - MS Indexing Engine - Printing ControlsGuiListView - Navigation (break the 4000 Limit barrier) - Registration Free COM DLL Distribution - Update - WinRM SMART Analysis - COM Object Browser - Excel PivotTable Object - VLC Media Player - Windows LogOnOff Gui -Extract Data from Outlook to Word & Excel - Analyze Event ID 4226 - DotNet Compiler Wrapper - Powershell_COM - New Link to comment Share on other sites More sharing options...
James Posted July 30, 2007 Share Posted July 30, 2007 (edited) I want to be the first to say,OMG!!!You have made my day! I have needed something like this for ages. Thankyou so MUCH!!!!!!!!!! Edited July 30, 2007 by NeoTroniX Blog - Seriously epic web hosting - Twitter - GitHub - Cachet HQ Link to comment Share on other sites More sharing options...
Toady Posted July 30, 2007 Share Posted July 30, 2007 (edited) Wow, nicely done! This is very useful and informative. Edited July 30, 2007 by Toady www.itoady.com A* (A-star) Searching Algorithm - A.I. Artificial Intelligence bot path finding Link to comment Share on other sites More sharing options...
mrbond007 Posted July 30, 2007 Share Posted July 30, 2007 You're on your way to glory Projects : Space Regain - Memory Fusion - PWGT - Chip-ITGames : BrainPain - BrainPain Director's Cut - ProSpeed Games Pack (New)Vista vs XP : the forbidden fight Link to comment Share on other sites More sharing options...
ptrex Posted July 30, 2007 Author Share Posted July 30, 2007 @all Thanks for the feedback. If the time permits I will add more features like : - - Exporting the embedded CAB files - More Error control - etc. Regards, ptrex Contributions :Firewall Log Analyzer for XP - Creating COM objects without a need of DLL's - UPnP support in AU3Crystal Reports Viewer - PDFCreator in AutoIT - Duplicate File FinderSQLite3 Database functionality - USB Monitoring - Reading Excel using SQLRun Au3 as a Windows Service - File Monitor - Embedded Flash PlayerDynamic Functions - Control Panel Applets - Digital Signing Code - Excel Grid In AutoIT - Constants for Special Folders in WindowsRead data from Any Windows Edit Control - SOAP and Web Services in AutoIT - Barcode Printing Using PS - AU3 on LightTD WebserverMS LogParser SQL Engine in AutoIT - ImageMagick Image Processing - Converter @ Dec - Hex - Bin -Email Address Encoder - MSI Editor - SNMP - MIB ProtocolFinancial Functions UDF - Set ACL Permissions - Syntax HighLighter for AU3ADOR.RecordSet approach - Real OCR - HTTP Disk - PDF Reader Personal Worldclock - MS Indexing Engine - Printing ControlsGuiListView - Navigation (break the 4000 Limit barrier) - Registration Free COM DLL Distribution - Update - WinRM SMART Analysis - COM Object Browser - Excel PivotTable Object - VLC Media Player - Windows LogOnOff Gui -Extract Data from Outlook to Word & Excel - Analyze Event ID 4226 - DotNet Compiler Wrapper - Powershell_COM - New Link to comment Share on other sites More sharing options...
Richard Robertson Posted July 30, 2007 Share Posted July 30, 2007 Wow this is interesting. I figured Microsoft would have offered licenses to make MSI files instead of releasing the source. How many other Windows specific utilities produced by Microsoft directly, are open source? Well, I had a little trouble understanding how it worked when I first downloaded it. With some work, it could look really nice. Link to comment Share on other sites More sharing options...
gseller Posted July 30, 2007 Share Posted July 30, 2007 Oh WOW... Sweet!! Works great opening an existing msi but errors out on me when I go to create a new one. I will have to do some more playing to see what it is finding wrong. Thanks for sharing! Link to comment Share on other sites More sharing options...
bluebearr Posted July 30, 2007 Share Posted July 30, 2007 This is pretty...but how is this better than ORCA? BlueBearrOddly enough, this is what I do for fun. Link to comment Share on other sites More sharing options...
ptrex Posted July 30, 2007 Author Share Posted July 30, 2007 @bluebearr Because you don't need to install the full SDK when using the AU3. You can run the MSI Editor for a USB Stick and carry it around. Not sure if that's possible with the ORCA. But it is a good addition to the AU3 editor. Thanks for sharing. Regards ptrex Contributions :Firewall Log Analyzer for XP - Creating COM objects without a need of DLL's - UPnP support in AU3Crystal Reports Viewer - PDFCreator in AutoIT - Duplicate File FinderSQLite3 Database functionality - USB Monitoring - Reading Excel using SQLRun Au3 as a Windows Service - File Monitor - Embedded Flash PlayerDynamic Functions - Control Panel Applets - Digital Signing Code - Excel Grid In AutoIT - Constants for Special Folders in WindowsRead data from Any Windows Edit Control - SOAP and Web Services in AutoIT - Barcode Printing Using PS - AU3 on LightTD WebserverMS LogParser SQL Engine in AutoIT - ImageMagick Image Processing - Converter @ Dec - Hex - Bin -Email Address Encoder - MSI Editor - SNMP - MIB ProtocolFinancial Functions UDF - Set ACL Permissions - Syntax HighLighter for AU3ADOR.RecordSet approach - Real OCR - HTTP Disk - PDF Reader Personal Worldclock - MS Indexing Engine - Printing ControlsGuiListView - Navigation (break the 4000 Limit barrier) - Registration Free COM DLL Distribution - Update - WinRM SMART Analysis - COM Object Browser - Excel PivotTable Object - VLC Media Player - Windows LogOnOff Gui -Extract Data from Outlook to Word & Excel - Analyze Event ID 4226 - DotNet Compiler Wrapper - Powershell_COM - New Link to comment Share on other sites More sharing options...
lordofthestrings Posted July 31, 2007 Share Posted July 31, 2007 this allready looks way cooler than orca (orca looks like excel's ugly cousin) this app looks nice and simple. can 't wait to see where you go with this project. verry nice work! Link to comment Share on other sites More sharing options...
abritton Posted August 31, 2007 Share Posted August 31, 2007 this allready looks way cooler than orca (orca looks like excel's ugly cousin) this app looks nice and simple.can 't wait to see where you go with this project.verry nice work!If you need ORCA but don't want the SDK, then you can download a standalone installer from a link on Aaron Stebner's blog here Link to comment Share on other sites More sharing options...
rbhkamal Posted August 31, 2007 Share Posted August 31, 2007 (edited) Thanks, this is really nice. I can't view the data for records in the binary table. I get one error for every record in the table: Edit: The same deal with the Icon table The File, Shortcuts and Dialog tables do not show any records, eventhough there should be something in there. RK Edited August 31, 2007 by rbhkamal "When the power of love overcomes the love of power, the world will know peace"-Jimi Hendrix Link to comment Share on other sites More sharing options...
ssubirias3 Posted August 31, 2007 Share Posted August 31, 2007 Well here is where the fun starts.An MSI file contains conditions that influences the installation of an application. And some times you want to change that. Because the build in rules prevent you from installing the apps.Let's give an practical example where a software builder, built in a rule that says that his software only runs on a machine with the OS XP.Well now you have a machine with VISTA. This way you can alter the content of the MSI and get rid of the rule that prevents you from installing.Some functions still need improving, but this will give you already a good idea of what I am talking about.Thanks for giving a practical example for us noobs! It really is amazing to see what can be done with autoit! Here are a few minor items I though you'd like to know.1 - after loading an .msi file the script continues to say "No database Open". Not sure if its suppose to be that way or not, but would might make more sense is to list the full filename.2 - script Errors with "No Database Loaded !!" when a .msi file loaded and you click File > Open/Create Database Cancle out of the Select a MSI file... dialog Click any of the TreeView items3 - after getting the above error if you click File > Close Database Ok the "No Database Loaded !!" errorscript crashesThis is what is reported in my consoleType 11592Cnt 1Col Name ModuleID---------Type 9474Cnt 2Col Name Language---------Type 3360Cnt 3Col Name Version---------\\Win--xp--001\E\Workgroup\_AutoIt Scripts\test.au3 (366) : ==> Error in expression.: $ViewT = $DB.OpenView ("SELECT `Name` FROM `_Columns` WHERE `Table` ='" & $sTabName & "'") $ViewT = ^ ERROR->AutoIT3.exe ended.rc:1>Exit code: 1 Time: 33.651Again pretty cools stuff, how the feedback helps! Link to comment Share on other sites More sharing options...
ptrex Posted September 1, 2007 Author Share Posted September 1, 2007 @all Thanks for mentioning the ERRORS. But this is not surprising since this is still work in progress. As time permits I will update the main code. regards ptrex Contributions :Firewall Log Analyzer for XP - Creating COM objects without a need of DLL's - UPnP support in AU3Crystal Reports Viewer - PDFCreator in AutoIT - Duplicate File FinderSQLite3 Database functionality - USB Monitoring - Reading Excel using SQLRun Au3 as a Windows Service - File Monitor - Embedded Flash PlayerDynamic Functions - Control Panel Applets - Digital Signing Code - Excel Grid In AutoIT - Constants for Special Folders in WindowsRead data from Any Windows Edit Control - SOAP and Web Services in AutoIT - Barcode Printing Using PS - AU3 on LightTD WebserverMS LogParser SQL Engine in AutoIT - ImageMagick Image Processing - Converter @ Dec - Hex - Bin -Email Address Encoder - MSI Editor - SNMP - MIB ProtocolFinancial Functions UDF - Set ACL Permissions - Syntax HighLighter for AU3ADOR.RecordSet approach - Real OCR - HTTP Disk - PDF Reader Personal Worldclock - MS Indexing Engine - Printing ControlsGuiListView - Navigation (break the 4000 Limit barrier) - Registration Free COM DLL Distribution - Update - WinRM SMART Analysis - COM Object Browser - Excel PivotTable Object - VLC Media Player - Windows LogOnOff Gui -Extract Data from Outlook to Word & Excel - Analyze Event ID 4226 - DotNet Compiler Wrapper - Powershell_COM - New Link to comment Share on other sites More sharing options...
slayerz Posted September 10, 2007 Share Posted September 10, 2007 thank ptrex , I really2 like your apps! AUTOIT[sup] I'm lovin' it![/sup] Link to comment Share on other sites More sharing options...
ptrex Posted September 10, 2007 Author Share Posted September 10, 2007 @slayerz You are welcome. Enjoy !! ptrex Contributions :Firewall Log Analyzer for XP - Creating COM objects without a need of DLL's - UPnP support in AU3Crystal Reports Viewer - PDFCreator in AutoIT - Duplicate File FinderSQLite3 Database functionality - USB Monitoring - Reading Excel using SQLRun Au3 as a Windows Service - File Monitor - Embedded Flash PlayerDynamic Functions - Control Panel Applets - Digital Signing Code - Excel Grid In AutoIT - Constants for Special Folders in WindowsRead data from Any Windows Edit Control - SOAP and Web Services in AutoIT - Barcode Printing Using PS - AU3 on LightTD WebserverMS LogParser SQL Engine in AutoIT - ImageMagick Image Processing - Converter @ Dec - Hex - Bin -Email Address Encoder - MSI Editor - SNMP - MIB ProtocolFinancial Functions UDF - Set ACL Permissions - Syntax HighLighter for AU3ADOR.RecordSet approach - Real OCR - HTTP Disk - PDF Reader Personal Worldclock - MS Indexing Engine - Printing ControlsGuiListView - Navigation (break the 4000 Limit barrier) - Registration Free COM DLL Distribution - Update - WinRM SMART Analysis - COM Object Browser - Excel PivotTable Object - VLC Media Player - Windows LogOnOff Gui -Extract Data from Outlook to Word & Excel - Analyze Event ID 4226 - DotNet Compiler Wrapper - Powershell_COM - New Link to comment Share on other sites More sharing options...
JRSmile Posted September 10, 2007 Share Posted September 10, 2007 ptrex you are my hero. $a=StringSplit("547275737420796F757220546563686E6F6C75737421","") For $b=1 To UBound($a)+(-1*-1*-1)step(2^4/8);&$b+=1*2/40*µ&Asc(4) Assign("c",Eval("c")&Chr(Dec($a[$b]&$a[$b+1])));''Chr("a")&"HI" Next ;time_U&r34d,ths,U-may=get$the&c.l.u.e;b3st-regards,JRSmile; MsgBox(0x000000,"",Eval("c"));PiEs:d0nt+*b3.s4d.4ft3r.1st-try:-) Link to comment Share on other sites More sharing options...
ptrex Posted September 10, 2007 Author Share Posted September 10, 2007 @JRSmile You guys are easy to please Bevause the MSI database editor is not working fully yet, still under construction. But thanks anyhow. Regards, ptrex Contributions :Firewall Log Analyzer for XP - Creating COM objects without a need of DLL's - UPnP support in AU3Crystal Reports Viewer - PDFCreator in AutoIT - Duplicate File FinderSQLite3 Database functionality - USB Monitoring - Reading Excel using SQLRun Au3 as a Windows Service - File Monitor - Embedded Flash PlayerDynamic Functions - Control Panel Applets - Digital Signing Code - Excel Grid In AutoIT - Constants for Special Folders in WindowsRead data from Any Windows Edit Control - SOAP and Web Services in AutoIT - Barcode Printing Using PS - AU3 on LightTD WebserverMS LogParser SQL Engine in AutoIT - ImageMagick Image Processing - Converter @ Dec - Hex - Bin -Email Address Encoder - MSI Editor - SNMP - MIB ProtocolFinancial Functions UDF - Set ACL Permissions - Syntax HighLighter for AU3ADOR.RecordSet approach - Real OCR - HTTP Disk - PDF Reader Personal Worldclock - MS Indexing Engine - Printing ControlsGuiListView - Navigation (break the 4000 Limit barrier) - Registration Free COM DLL Distribution - Update - WinRM SMART Analysis - COM Object Browser - Excel PivotTable Object - VLC Media Player - Windows LogOnOff Gui -Extract Data from Outlook to Word & Excel - Analyze Event ID 4226 - DotNet Compiler Wrapper - Powershell_COM - New Link to comment Share on other sites More sharing options...
cmgrider Posted February 13, 2008 Share Posted February 13, 2008 I am fairly new to AutoIt and cant quite figure out why I am getting an error on line 20 with this MSI editor. error follows -------------------------------------------------- Line 20 Global Const $WM_NOTIFY=0x004E Global Const ^ERROR Error: Can not redeclare a constant --------------------------------------------------- Any ideas are appreciated. I am running this on Windows XP using the latest version of AutoIT v.3 Thanks, Chris Link to comment Share on other sites More sharing options...
AlmarM Posted February 14, 2008 Share Posted February 14, 2008 WOW nice made There WILL BE a day im ready to understand this script Minesweeper A minesweeper game created in autoit, source available. _Mouse_UDF An UDF for registering functions to mouse events, made in pure autoit. 2D Hitbox Editor A 2D hitbox editor for quick creation of 2D sphere and rectangle hitboxes. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now