* * * << PLEASE CHECK THE UPDATES/NOTES TOWARDS THE BOTTOM OF THIS POST >> * * *
If you need to know about Energy's version of XDA_UC, or are not familiar with it, but use his ROMs please CLICK HERE NOW!!!
I have done some extensive modding of the MortScript from SASHIMI (by bengilah @ www.winmo-experts.com) and XDA_UC (by Noonski here @XDA) and have come up with a couple additions meant mainly for Energy's custom XDA_UC as it lacks some of the features that Noonski's version does, well now you can have ALL THAT & MORE!
What does S4X_AutoLauncher.mscr do?
01. it loads the S4X_Auto Script (S4X_Auto_*version*.mscr) with an updated version of MortScript.exe (4.3b15) and waits for it to finish (this way you don't have to install new version of mortscript for the mod to work!).
S4X_Auto script does the following, in the following order:
01. shuts down sense, kills manila.exe and any processes found in the "autoKillApps" section of the autoSettings.ini.
02. deletes AppData folder from device, if instructed by autoSettings.ini to do so.
03. installs CERT files found in XDA_UC_\_Mod_\filesCERT (+ subfolders)
04. provisions any XML files that have "email" or "wifi" in the name of the file.
05. silently sets windows them from the autoSettings.ini, place the filename.tsk(only - spaces are OK, but NO path) of the theme in the INI like this:
if it is a theme that is not present on the rom you can place the file in the folder XDA_UC\_Mod_\filesTSK, and it will get copied to windows before being set as the default theme. if no theme is set in the autoSettings.ini, then any TSK files present in XDA_UC\_Mod_\filesTSK will be copied to windows, then a dynamic menu with all available themes will be shown, and you can choose one, if none is chosen (10sec timeout), then the default cooked theme will be left as the default.
06. installs CABs, located in root of XDA_UC\_Mod_\filesCAB, silently to device
07. installs CABs, located in root of XDA_UC\_Mod_\filesCAB or any subfolder thereof (EXCEPT FOR \netCF, \Dialer, \SDAuto or \SKIP), silently to device.
08. if a SASHIMI ".auto" file is present, it will install the cab semi-silently (no user interaction required), to device or storage card (see XDA_UC\_Mod_\_bin\INI\sample-file.auto for example)
09. install a custom dialer if there are CABs present in XDA_UC\_Mod_\filesCAB\Dialer (+ subfolders), shuts down the proper processes first and if that isn't possible it will skip installation so that there are no errors.
10. installs netCF CABs silently to device if present in XDA_UC\_Mod_\filesCAB\netCF (+ subfolders) (uses THIS method. )
11. looks for CABs in folder: XDA_UC\_Mod_\filesCAB\SDAuto(+ subfolders), installs them silently to your SD. The cabs don't HAVE to be UC compatible, but you will have to do some manual things if they aren't UC compatible... NOTE: not all CABs work with this method, if they don't work, please place them in folder: XDA_UC\_Mod_\filesCAB\Manual, for full user interaction when necessary. This is no longer a separate script, I have integrated it. credit to bengilah @ winmo-experts.com
12. SKIPS all CABs located in XDA_UC\_Mod_\filesCAB\SKIP (+ subfolders)
13. installs *.XDA, *.XDAI, *.XDAS & *.XDAZ files found in XDA_UC\_Mod_\filesXDA (subfolders as well)
14. imports all reg files found in XDA_UC\_Mod_\filesREG (+ subfolders)
15. provisions XML files found in XDA_UC\_Mod_\filesXML (+ subfolders)
16. executes EXE files found in XDA_UC\_Mod_\filesEXE (+ subfolders), if a parameter(s) is found in exeparams.ini, then it is run with those parameters
17. looks for *.wgt/*.widget files in folder: XDA_UC\_Mod_\filesWGT, and installs them with wmwidgetInstaller.exe (if present in ROM) automatically (not silent, but usually no user input is required).
18. looks for folders under folder: XDA_UC\_Mod_\filesSense\****, and copies the content of each folder to \Windows, this is useful for keeping your fixes/mods seperated so that when a new rom comes out that includes the fix/mod you can just delete that folder and it won't be copied to device anymore during XDA_UC setup =)
19. copies all files/folders from folder: XDA_UC\_Mod_\filesRoot, to the root of the device IE: XDA_UC\_Mod_\filesRoot\My Documents gets copied to \My Documents...etc...
20. if present, executes deleteOps.ini and deletes files and/or folders, see the XDA_UC\_Mod_\_bin\INI folder for sample .ini's
21. if present *.pib file in XDA_UC\_Mod_\filesPIM, starts PIMBackup and waits until user is finished importing settings, then...
22. looks for PIM.VOL in folder: XDA_UC\_Mod_\filesPIM, renames current, copies backup, then places a self actuating and deleting script in \Windows\Startup that will delete the old renamed PIM.VOL file at the next boot.
23. runs any MSCR (MortScripts) found in XDA_UC\_Mod_\filesMSCR (+ subfolders), if parameters exist in scriptparams.ini, then it runs the script with the given parameters.
24. imports CHT settings file, if present in folder: XDA_UC\_Mod_\filesCHT
25. finally, I have added logging (no matter whether script is ran manually or automatically by XDA_UC) and on-screen notifications (only during initial XDA_UC setup), the log file can be found in folder: XDA_UC\_Mod_\_bin\LOG\S4X_Auto_ver#_LOG.txt
XX. For ALL CAB & Widget file installs, looks for an entry in customlinks.ini, if present moves the link to the specified directory in the start menu after installation is complete
What does S4X_SDAutoLauncher.mscr do?
01. It loads the sdauto script with an updated version of MortScript.exe (4.3b15) and waits for it to finish (this way you don't have to install new version of mortscript for it to work!).
S4X_SDAuto_1.0.mscr script does the following, in the following order:
01. files are installed alphanumerically: 0, 1, a, A
02. supports SASHIMI ".auto" files, to automate installation of non UC compliant CABs (ie: pop up messages/windows during installation)
03. it writes a log to XDA_UC\_Mod_\_bin\LOG\S4X_SDAuto_1.0_LOG.txt
What does S4X_Backup do?
I DID NOT WRITE (MOST OF) THIS CODE, I ONLY MODDED IT TO MAKE IT WORK THE WAY I WANTED/NEEDED IT TO!!!!
01. * Full minus file > customRegXport, PIMBackup & CHTBackup
04. * PIMBackup > Backs up PIM data with PIMBackup, if a file already exists in XDA_UC\_Mod_\filesPIM folder, it copies the file(s) to folder: XDA_UC\_Mod_\_Manual\filesPIM
05. * CHTBackup > Backs up Co0kie Home Tab data and saves it as "chtsettings.cht" in folder: XDA_UC\_Mod_\filesCHT
06. * filebackup > runs filebackup.ini ONLY
07. * Full Export > full registry exported saved in folder: XDA_UC\_Mod_\_Manual\filesREG
08. * View Regexport.ini > Shows you the contents of regexport.ini
09. * View Filebackup.ini > Shows you the contents of filebackup.ini
10. * _ E X I T _ * > self explanatory ;)
11. when doing a REG export I added a check of fileSkipOverOrArchive in autoSettings.ini (found in XDA_UC\_Mod_\_bin\INI), 0 = ARCHIVE, 1 = OVERWRITE, 2 = SKIP), if set to ARCHIVE a subfolder is created in XDA_UC\_Mod_\_Manual\filesREG and the files present in XDA_UC\_Mod_\filesREG are moved there before export starts. this way you have a backup of previous reg settings.
Please see post #3 for examples of filebackup.ini and regexport.ini
In an attempt to keep THIS post clean, I am not going to post the code from these two scripts. I will attach my XDA_UC_Mod [latest], which contains both of these scripts which you can extract from the zip and look at all you want.
2. completely modularize the mod and allow an .ini to set/determine what actions are performed, hopefully to make process slightly quicker as only script code needed will be loaded/executed
03. regKeyDelete.ini - to automatically delete some keys from registry [ie: bootloader and init entries...etc...] will be written much like the regexport.ini from sashimi
Instructions If you only want functionality to install cabs to SDCard silently, then just download the S4X_SDAuto_Mod and extract the zip to the ROOT of XDA_UC folder, otherwise if you want the full mod download the S4X_Auto_plus_Backup_Mod and extract it to the ROOT of XDA_UC folder, there is no need for both as the S4X_SDAuto_Mod is included in the full mod.
1. choose file and unzip to ROOT of XDA_UC folder
2. if running EITHER mod manually, run the .mscr file in root of XDA_UC or .exe in the _bin folder, do NOT run the .mscr file in the XDA_UC\_Mod_\_bin folder unless you have a 4.3b11+ version of MortScript already installed on your system
3. to use S4X_Backup run S4X_Backup.exe in the XDA_UC\_Mod_\_bin folder of XDA_UC or from the start menu > tools > S4X_Backup (only present if you've used xda_uc setup with my mod)
EDIT 12/27/2010 ATTENTION: As I am currently unable to keep up with the updates at the moment, XDA user powinmo, is providing some code updates at THIS POST, please download the full package, then download his code update if you are a first time user. Otherwise you can just download his update, to fix the current issues. Changelog for his update is HERE.
Here are some basic explanations of what the settings in autoSettings.ini do. =)
If for some odd reason device shuts off, reboots...etc during setup/customization, if this is ON (1), it will retry the last task, if OFF (0) it will continue after the last attempted task.
If set to ON (1), will automatically remove appData folder from device
this relates to the S4X_Backup mod, if set to 0 it will "ARCHIVE" (copy to _Mod_\_Manual\filesREG\ARCHIVE_[date]) any existing REG files before exporting the new ones to _Mod_\filesREG
if ON (1) will display the fullpath in status updates
If set to 0, will use mortscript built-in process kill function first (default is 0), if set to 1, will use SKTools.exe #KILLPROC command line function first to try to kill the process. I highly recommend keeping it on 0, but if you have trouble with apps not getting killed (IE: for dialer cab install, PIMBackup restore...etc) then try changing this.
If ON (1), will automatically reboot device after AutoSetup/Customization is complete
if ON (1), the autoProgressFile will be deleted after setup/customization is complete, maybe good for debugging, so you can look at file if there are issues
when copying files, or deleting them, if ON (1) will remove all file attributes and set only "ARCHIVE" attrib
will set a reg entry, if the script is run via the "AUTORUN" feature, ie: using the 2577 folder found under _Mod_\_bin
If ON (1), will keep open a status message window, that will update with each completed/skipped/failed task... everything is always logged to _Mod_\_bin\LOG\*LOG.txt, so not necessary for debugging, only if you want visual confirmation while you watch it work...
this pertains to the TSKfiles portion of the script, you can use the filename of any theme located in \Windows or _Mod_\filesTSK, it will automatically be set during setup/customization
If ON (1) will use FdcSoft TskMgr.exe (located in _Mod_\_bin) to import REG files, default (0) will use SKTools.exe (also located in _bin folder)
below is a list of apps/processes that the script will attempt to kill during the "disable htc sense GUI" portion of the script. you can add any app/process you like, but be careful and only use the process name and extension, do not include the path
filebackup.ini - anything set to "Auto" will backup to _Mod_\filesRoot
- anything set to "Manual" will backup to _Mod_\_Manual\filesRoot
- so that it doesn't actually get copied to your device during the
- copy2root part of my script, you must do it manually.
key1 is the traditional way of exporting registry keys as its already implemented. It exports this key including all values/subkeys. key2 specifies a key, plus the value names you want to export (value1-valueN). Value names are CASE SENSITIVE (!), if they dont match you end up with an empty key. key3 specifies a key, plus ALL values, but WITHOUT subkeys.
WARNING: DO NOT mix filtered (like in key2, key3 examples) and unfiltered keys (key1) in the same section, as this will lead to missing values. If you need to do this, split them into separate sections.
anyfilename.auto - below is an example of an ".auto" file
- used to automate cab installs that require user input
InstallLocation= (0 = device, 1 = storage card)
WindowTitle="Keyboard and Mouse Setup" (name of window to perform actions on)
customlinks.ini - if you want a link for a specific cab to be installed
- to a different directory than the default
- put exact cab file name without extension as first param
- wildcard (*) can be used
- after cab is installed, the link will be moved to where you want it
thanks, just trying to be a contributing member, even if "my" stuff isn't exactly 100% original... MortScript is getting easier by the minute for me, coming from self taught php background a lot of it is similar or the same even... I'm sure there's some languages that php resembles... but I'm not really a programmer of any sort, just an accomplished "tinkerer" heh...
I posted this in the Energy thread - it was suggested I ask here... any help would be great. Thanks.
Can you give me a step by step on the order in which you do stuff after flashing (when to reinsert the sim card, when to run PIM Backup, etc.)? I basically stole your entire XDA_UC (thank you btw!) just adding a couple files and reg settings for some applications and a few things don't seem to work for me (i.e., my favorite people never come back in the right order or even the right people, my hotmail gets screwed up, etc.). I just can never seem to get any of the backups to work exactly right and I've tried SASHIMI, NRG's Export/Importer, and XDA_UC. I just think I'm doing something at the wrong time and things are stepping on each other or something. Anyway, thanks for the help!
PS I'm installing the latest 23xxx CHT rom via SD card ...
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?