C# Hook External Applications Installer
Posted on 2011-03-20
I am designing an Installer Process Recorder application to integrate into a larger Build Management application i will complete at a later date.
I wish to record the steps a user follows when installing an application, for example MySQL. For instance the user presses 'Ok' 'Next' 'I accept License' etc etc. I wish to record these steps and when my app is run on another machine, it will install MySQL automatically using the same steps as the original installation.
I have looked into MSI transformations but need the solution to be able to handle EXE installers and i would like to integrate it into a larger management application at a later date so i have decided to try and code it.
I have never coded in c# but used to program in Java so am hopeful i can pick it up.
In my head i expect to start my app and select the installer i wish to work with. Pressing the record button will launch the installer (MySQL). I would like to record the installers GUI calls / events. When my app is in replay mode I would like to try and send the same method calls so the Mysql installer thinks the buttons are being pressed by a user.
Does anyone know why this wouldn’t be possible in C#. I have read that C# cannot use global hooks except for mouse and keyboard. If I launched the installer from within my application thread, would I be able to record the method calls via hooks that way?
Any advice would be greatly appreciated.