yashsingh1/xdaforums huggingface dataset:
[Windows Mobile Software Development] hilaireg:
Another couple of days delay on PACK3 will not kill anyone ... at least no one that I know. Besides, we're all doing this out of the goodness of our hearts.

:)

Coming from a software design and packaging background, I have a habit (good or bad) of breaking things down into building blocks. From the packaging side, I try to implement customizations post-deployment as it makes it easier to slip out old vendor code, put new code in, and then adjust the post-install customization layer as required.

Have an extra Bourbon for me, goodness knows I need it.

:cool:
[Windows Mobile Software Development] Noonski:
I'm flashing the changed style now.

But you can apply the changes to the package your using.

You only need to change the taskmgr.exe references in the XDAUC.mscr to have it synced to my current setup.
[Windows Mobile Software Development] hilaireg:
What name are you going with for FDC Task Manager ... fdcTaskMgr.exe ?
[Windows Mobile Software Development] Noonski:
FS_Taskmgr.exe

As was already set in the rgu file ;)

I can always include a renamed mort Autorun.exe renamed to Taskmgr.exe along with a taskmge.mscr in my own kitchen to replace default WM Taskmanager.
[Windows Mobile Software Development] Noonski:
There shouldn't be a need for a sdconfig.txt anymore

As anything that Autorun would handle can be taken over.

And as for Xcopy it's also obsolete, as you can have Mortscript copy over entire directories.

The first part might still come in handy to maybe still keep in a sense of Backwards compatibility. Bt where is the sense in that. A few other UC methods added Configuration methods that would make the sdconfig.txt

It's also already executing all .mscr scripts in the XDA_UC folder, but i do that after installing Cab's, so as a user you can actually change whatever the cab did to your liking.

From a script posted bfore i already added

ForEach xshortcut, xsourcefile in regValues ( "HKLM", "\Software\XDA\AutoShortCut" )
CreateShortcut( xshortcut, xsourcefile, TRUE )
EndForEach

And i will ad one similar to handle file copy and folder copy, read from a registry.

Your method eventually spels the same:

"Autorun, All your commands belong to us, and then some"

And you could also ad a makedir of copy2 first before starting the copy in case the dir does not exist.

Would look something like this then

ForEach xcopy1, xcopy2 in regValues ( "HKLM", "\Software\XDA\DirCopy" )
MkDir ( xcopy2 )
Copy( xcopy1, xcopy2, TRUE )
EndForEach

To

[HKEY_LOCAL_MACHINE\Software\XDA\DirCopy]

"\\Storage Card\\XDA_UC\\Test"="\\My Documents\\Test"

I know where you are coming from, i also saw people missing having an easy working way to copy over folders using SDAutorun and working their way around it copying Xcopy to Temp or Windows folders so it could be executed.

And i went for the run command on mortscript files, as i understand that set variables can be taken over using CallScript.

I think having people create these in a .reg file makes it easier then using a mortscript to do this and it brings a regular user closer to what a cook is constantly working with.

Ha reading it all back, i can't stop smiling, thinking to myself where did i learn all this crap?
[Windows Mobile Software Development] RoryB:
Yeah, I was showing backward compatability for those who have sdconfig already and do not want to change anything. This would act like sdautorun without them even seeing a difference.

Most everything in the last post was intended for stuff on the sdcard.

I stopped using xcopy a while back.

I am working more toward the idea of just having a folder on sdcard that has what you want silently installed and another for what you want installed with user input.

The sequence of the script takes care of installing cabs and then running scripts to tweak the results of the install.

You could even do move to move files from one directory to another and then deltree to delete the emptied folder.
[Windows Mobile Software Development] Noonski:
I will definitely look into the SDConfig.txt reading Script.

(Votes on Legacy went up even if there aren't that many Votes they do say something)

It won't hurt anyone if the sdconfig.txt file isn't there anyway.

But what does the script do with xml files mentioned in the SDconfig.txt?

Will add this on Sunday.

I was focused on getting:

if (DirExists( "\" & SDF & "\XDA_UC\Manila" ))
XCopy( "\" & SDF & "\XDA_UC\Manila\*.*", "\Windows", TRUE, TRUE )
RegWriteDword("HKLM","\Software\Microsoft\Today\Items\TouchFLO 3D","Enabled","0")
RedrawToday
Sleep("20000")
if (FileExists( "\" & SDF & "\XDA_UC\manila\wallpaper_TF3D.png" ))
RegWriteString( "HKCU", "Software\HTC\Manila", "HomeBackgroundPath", "\Windows\wallpaper_TF3D.png" )
RegWriteString( "HKCU", "Software\HTC\Manila", "DefaultHomeBackgroundPath", "\Windows\wallpaper_TF3D.png" )
Else
Endif
if (FileExists( "\Windows\wallpaper_TF3D.jpg" ))
RegWriteString( "HKCU", "Software\HTC\Manila", "HomeBackgroundPath", "\Windows\wallpaper_TF3D.jpg" )
RegWriteString( "HKCU", "Software\HTC\Manila", "DefaultHomeBackgroundPath", "\Windows\wallpaper_TF3D.jpg" )
Else
Endif
Sleep("5000")
RegWriteDword("HKLM","\Software\Microsoft\Today\Items\TouchFLO 3D","Enabled","1")
RedrawToday
Else
Endif

To Work.

I know there probably is a way to check the progress of the Copying of the files before re enabling the TF3D and redrawing the homescreen as using a set time of 10 seconds might not be enough in some cases.

(Just testing out the timing with the start up process)

But it looks like it's waiting for the copy to finish before moving on in the script.
[Windows Mobile Software Development] RoryB:
ElseIf( SubStr( xcount, 1, 5 ) eq "XML: " )
RunWait( "\windows\TaskMgr.exe", "/provxml " & SubStr( xcount, 6 ))
While( ProcExists ( "TaskMgr.exe" ))
sleep( 3000 )
endwhile
ElseIf( SubStr( xcount, 1, 5 ) eq "TSK: " )
RunWait( "\windows\cusTSK.exe", SubStr( xcount, 6 ))
While( ProcExists ( "cusTSK.exe" ))
sleep( 3000 )
endwhile
[Windows Mobile Software Development] RoryB:
I fixed the else - do nothing in post 56
[Windows Mobile Software Development] Noonski:
Special No Prize for finding out who said this in the XDA forums.

Looks like we can merge all methods into just one that takes the used variables into account of using RunCC.exe and an sdconfig.txt file on SD

(was just curious if you where using another trick to parse the XML files)

Takes the need away for a cook to set up SDAutorun.exe or point to SDConfig.txt on SD card in a LUA script.

Rock on! Good Work.
[Windows Mobile Software Development] hilaireg:
Now I know you posted a while back indicating that you would not use your God-like powers to make threads stickies just because you can.

That said, I still feel you should make this thread and the SDAutoRun thread stickies cause this is really good work.

Anyway,

M2C worth.

;)
[Windows Mobile Software Development] RoryB:
another fix on 56 for the exe part
[Windows Mobile Software Development] blazingwolf:
I'm a little new to this subject so please forgive the newb questions. I have this cooked in to my Omnia ROM and it does work but I have an issue and a question.

I have removed the welcome screen items as all of that is done for the user. This causes a stop at part of the loading screen. If you push the start button everything works fine. This is normal for the Omnia (I wish it wasn't though). My issue is that the script will run but the popup screen will not show to alert the user that customization is starting unless one pushes the start menu before that happen. Is it possible to fix this in some way?

My question is how would one configure this to install cabs to the internal storage area or a storage card?
[Windows Mobile Software Development] Noonski:
Having a Cab install to the Storage memory, you can do by either changing the cab to install to a hard coded path.

BUt i think i now get RoryB's Second Cab folder setup for user input.

So you could add (and might also add this), beneath the already present cab installation part in the XDAUC.mscr

ForEach CABfile in files ("\" & SDF & "\XDA_UC\SD\*.cab")
if (RegRead( "HKLM", "Software\XDA\UC\cab", "" & CABfile & "" ) eq 1)
Else
Run("\Windows\wceload.exe", "/nodelete """ & CABfile & """")
While( ProcExists ( "wceload.exe" ))
sleep( 10000 )
endwhile
RegWriteDword ( "HKLM", "Software\XDA\UC\cab", "" & CABfile & "", "1")
EndIf
EndForEach

This should the start the installation the normal way asking for the user where to install to.

As for the Start Button you can use the cook.mscr

Adding a

Sleep("1000")

MouseClick( "x" , "y" )

Where you time your sleep off course to when the start should be clicked.

And if i'm correct setting x & y to 5 should get the coordinates for the startmenu.

This way no one need to do that annoying start menu clicking thing on the Onmia ;)

PS: Are you by any chance related to FameWolf:D
[Windows Mobile Software Development] bobsbbq:
I have been using the second option where the UC happens after the first boot. I have some issues where the cabs are being deleted from the XDAUC folder on the Storage card after a ROM flash. It does not delete all of them but Sometimes it deletes all except one, sometimes it delets 2 etc.

I use a full WM 6.5 ROM with all Rhodium/Topaz packages. Using RunCC as well.

Anyone can help with this?
[Windows Mobile Software Development] blazingwolf:
Thanks Noonski. :) I will give this a shot.

Only the wolf part is related. :D
[Windows Mobile Software Development] blazingwolf:
Have you set the cabs to read only?
[Windows Mobile Software Development] bobsbbq:
Thanks I will try this I found some not set to read only.
[Windows Mobile Software Development] Noonski:
Can you check your xdauc.mscr to check you also have the "/nodelete parameter?

ForEach CABfile in files ("\" & SDF & "\XDA_UC\*.cab")
if (RegRead( "HKLM", "Software\XDA\UC\cab", "" & CABfile & "" ) eq 1)
Else
Run("\Windows\wceload.exe", "/nodelete /silent """ & CABfile & """")
While( ProcExists ( "wceload.exe" ))
sleep( 10000 )
endwhile
RegWriteDword ( "HKLM", "Software\XDA\UC\cab", "" & CABfile & "", "1")
EndIf
EndForEach

It should not delete the Cab files.
[Windows Mobile Software Development] Noonski:
Okay finished rewriting the methods into just one method.

It should react on wether Autorun or RunCC is being used and run at the correct bootcount for that method.

I haven't implemented the SDconfig.txt part yet, i need to test this new version first.

RoryB if you have the time to test the new script to see if i'm not doing anything stupid?
[Windows Mobile Software Development] blazingwolf:
Gave this a shot and It doesn't seem to work. I added this code in underneath, above and replaced the existing code and the cabs still installed to device memory (well, except for replaced, then no cabs installed) and silently.

I could change the paths of my cab files. That's not an issue for me but it very well could be for the users of my ROMs so that's not really an option.

The start menu code ou gave me works like a charm. :D

Thanks for your help with this and thanks for putting this together. I have been looking for something like this and it is working very well so far. :)
[Windows Mobile Software Development] Noonski:
I attached an updated beta V1.0.02 script.

It will first check for cab files in XDA_UC\SD and present those with full user interaction so you can chose where to install to.

After that it will continue to silently install the cab files in XDA_UC folder.

I haven't added RoryB's SDconfig.txt reading part to it yet, i got struck by some incredible headaches.
[Windows Mobile Software Development] blazingwolf:
Smoking. I will play with this right now. :)

Sorry about the headaches. I, unfortunately, understand about those as I get migraines. Hopefully you will start feeling better.
[Windows Mobile Software Development] blazingwolf:
Well, the new version did not run for me. My theme filed moved fine but that is it. I never saw the customizing popup and no other changes occurred.

I will try to look at it and see if I can figure it out.
[Windows Mobile Software Development] RoryB:
Another fix on post 56 to get the quotes around the cabfile name.
[Windows Mobile Software Development] Noonski:
Did you reflash or just rerun it?

If you only re run it first check what the boot count is set to in the registry

HKLM\COMM

And set it to 1. (or 2 if you have runcc.exe or autorun.exe in rom)

Otherwaise only the theme gets installed.

Also it checks for the existence of Autorun.exe and or RunCC.exe and if one of these files exist in ROM it will only run at HKLM\COMM\BoutCount=2
[Windows Mobile Software Development] RoryB:
Another thing I have discovered is unzipall does not work if there are any files existing. Folders are okay, but not files. I need to ask Mort about an unzipall( sourcefile [, overwite]) version so we can force an overwrite of existing files.
[Windows Mobile Software Development] blazingwolf:
I reflashed. I did not think I had autorun.exe in my ROM but I was incorrect. I have one in my MortScript OEM.

I would much rather have this running right at flash as this does everything I need it to do. I will play some more and see what I can get. :)
[Windows Mobile Software Development] RoryB:
My config.txt I cook in has one line in it.

EXEC:\windows\roryb.mscr

That line starts all my customizations and the script even checks for \Storage Card\SDConfig.txt to run it without sdautorun.
[Windows Mobile Software Development] Noonski:
I can live around the Unzipp all, it adds an extra step to move the files from Temp folder with True on Overwrite.

But having a TRUE parameter on the UnzipAll would be great.

I think Mort is aware of this as he's was in at the Mortscript XDA thread right after your post about this. But could not find mention of it at Mort's own Forum.
[Windows Mobile Software Development] jmckeejr:
Just started using this and getting ready to distribute my ROM with it, wanted to make sure nobody has noticed any conflicts with any other UC software? I use a few methods personally, and this one sounds great due to the silent install factor. Haven't noticed any conflicts with SASHIMI yet, but I know that only one script can run at a time(right?). As I am distributing my ROMs to public and want to be as universal as possible I want to know if any software might conflict with this. I am using the semi method due to some of my setup stuff requiring reset.

I'll have to dig deeper into mortscript as it is becoming more and more interesting to me. I am now using mortscript for my ROM setups as well as installing my personal apps and man this saves a lot of wasted time. Great job here Noonski, you are a true inspiration. No, even better, you are my hero ;) LOL Thanks

EDIT: Fews suggestions(as if you need more to think about)

Add support for subfolders(possibly make it go through folders in specific orderie: XDA, CABS, XML, Scripts)

Add in the copy function(which you're already working on)

check for existence of an installed program(good luck with that. sounds difficult)
[Windows Mobile Software Development] RoryB:
With Mortscript xcopy will recurse directories.

XCopy( source files, target directory [, overwrite? [, subdirs? ] ] )

XCopy( "\My documents\*.txt", "\Storage", TRUE, TRUE ) (will copy also “\My documents\texts\x.txt” to “\Storage\texts\x.txt”)​

So if you set your desired files in their correct paths relative to the root folder of the phone in to folder "\storage card\copy files" and use​

XCopy( "\Storage Card\Copy Files\*.*", "", TRUE, TRUE ) you should get everything copied to where you want. This is similar to the zip file I use. I use a zip file because it is cooked in the ROM and I get one file in windows folder that gives me all the files I want elsewhere.​

You would use If( DirExists( "\Storage Card\CopyFiles")) as a check to determine if you want to run the xcopy command line.
[Windows Mobile Software Development] Noonski:
I have thought about these:

Add support for subfolders(possibly make it go through folders in specific orderie: XDA, CABS, XML, Scripts)

"In an ideal world" there would not be a need for Subdirs in the XDA_UC folder.

There would only be one .XML file, One .reg and one scriptfile.

I did have this setup at a time, but found that dropping all the stuff i needed to get installed into one folder an easier user experience

Add in the copy function(which you're already working on)

Check ;)

check for existence of an installed program(good luck with that. sounds difficult)

I also thought about this but other than manually adding specific apps or looking for each .exe file in the Storage Card would end up with either a lot of extra scripting or a lot of unnecessary links in the programs link (for exe files that actually don't start anything).

Instead i thought having the Registry entries to links function an acceptable solution to adding a users program to the startmenu.

I hope this explains a bit about some of the why's.

I know there are a lot of people already doing a lot of personal customization with the Regular UC methods available. And when coming upon different options i tried to chose the one that would be easiest to understand for e new user
[Windows Mobile Software Development] jmckeejr:
Ok, so I put this into practice today. Pretty cool, but it does not like to work with SASHIMI as I thought. Nothing bad, just holds SASHIMI until XDA_UC is done. But it did freeze once because I have a script that runs pim backup and I guess when PIM backup opened it just froze. Happened twice. I have my rom setup to run SASHIMI at first boot too(count 2), so I'll have to add a few lines in one of these scripts to make it wait I think.

Definitely gonna need to do something about TF3D if possible. I usually import my reg entries for program launcher, but I need to close TF3D first. This would be an awesopme addon to what you have here.
[Windows Mobile Software Development] Noonski:
Take a look at the new part that i added this weekend.

I disables the home screen and then re-enables it to implement the new changes.

If (DirExists( "\" & SDF & "\XDA_UC\Manila" ))

XCopy( "\" & SDF & "\XDA_UC\Manila\*.*", "\Windows", TRUE, TRUE )
RegWriteDword("HKLM","\Software\Microsoft\Today\Items\TouchFLO 3D","Enabled","0")
RedrawToday
Sleep("20000")

if (FileExists( "\" & SDF & "\XDA_UC\manila\wallpaper_TF3D.png" ))
RegWriteString( "HKCU", "Software\HTC\Manila", "HomeBackgroundPath", "\Windows\wallpaper_TF3D.png" )
RegWriteString( "HKCU", "Software\HTC\Manila", "DefaultHomeBackgroundPath", "\Windows\wallpaper_TF3D.png" )
Else
Endif

if (FileExists( "\Windows\wallpaper_TF3D.jpg" ))
RegWriteString( "HKCU", "Software\HTC\Manila", "HomeBackgroundPath", "\Windows\wallpaper_TF3D.jpg" )
RegWriteString( "HKCU", "Software\HTC\Manila", "DefaultHomeBackgroundPath", "\Windows\wallpaper_TF3D.jpg" )
Else
Endif

Sleep("5000")
RegWriteDword("HKLM","\Software\Microsoft\Today\Items\TouchFLO 3D","Enabled","1")
RedrawToday
Sleep("25000")

Else
Sleep("50000")
Endif
[Windows Mobile Software Development] jmckeejr:
Awesome! Any way we can disable it before imorting REG for program launcher too? That is one I could really use, but I am not sure if a reset is needed before restarting Manila or not. I tried to disable TF3D, import program launcher REG, and reenable but I ended up with white squares for icons there. I'll try again next time I flash or get a chance.Also, shouldnt the TF3D be disabled before the xCopy? This what you have:

XCopy( "\" & SDF & "\XDA_UC\Manila\*.*", "\Windows", TRUE, TRUE )
RegWriteDword("HKLM","\Software\Microsoft\Today\Items\TouchFLO 3D","Enabled","0")
RedrawToday
Sleep("20000")

While I'm here I wanted to find out about RunCC. I currently use Autorun, so do I need to remove this and remove the reg entries from RGU in OEMDrivers? Will RunCC still do the same thing with config.txt?
[Windows Mobile Software Development] Noonski:
Any files that get overwritten while still in use by Manilla should not directly give up an error the pictures should be, being used in memory already.

So unless you switch a tab that at that moment is using pictures that at that exact moment is being overwritten having a few seconds of ramp up time to the large of files it might encounter shouldn't hurt Manilla still running just before it gets switched of. I think the only registry settings manila might, just right before it get's killed, be the time zone and time.

I haven't had a manilla error yet. And as soon as i finish the Full screen Connection setup, Manilla loads up showing me me personal Wallpaper fading in just e few seconds later. I tried to copy over around 5 MB of manilla files and it seemed to understand my intentions.

I could add a line to import a specific.reg from the manilla folder before it re enables and redraws the home screen. As the regular Registry importing comes after the cab installs.

I put the manilla file copy very early so it immediately starts with your Wallpaper after booting and logging in the first time.

Give the .reg file a name and consider it a function.

I can see it importing your quest for putting back your games high scores after backing them up.

http://xdaforums.com/showthread.php?t=519358

There's a lot that can be added without telling anyone about the little extra's :cool:
[Windows Mobile Software Development] wg5566:
Is it possible to make XDA_UC into a cab?

So that I can still use it

evenif

it is not cooked into my ROM

or

I'm just using a stock ROM

& I want to use it.
[Windows Mobile Software Development] Noonski:
After i have added the next functions this weekend (i only do stuff in the weekend so i don't go to bed to late ;))

I will look into making a cab but i can't make promises as i have a busy weekend.
[Windows Mobile Software Development] wg5566:
But that means IT'S POSSIBLE.:D

Doesn't matter it will come this weekend or next.

Good to have weekend, good night.;)
[Windows Mobile Software Development] RoryB:
You could put a mortscript on your sdcard and either use sdconfig.txt to start it if your ROM has sdautorun or just go to file explorer and start it. Of course you need mortscript installed on your phone so you would need to install the cab first or have sdconfig.txt install it first.
[Windows Mobile Software Development] Noonski:
I was thinking of adding mortscript, start.mortrun, mortzip.dll & start.exe to the Sample package to get it started anytime you want.
[Windows Mobile Software Development] wg5566:
A CAB DOES Mean Something

I don't have statistics, but here's what I guess:

No more than 20% of the total WM device owners in the world will use a custome ROM.

No more than half of the custome ROMs are from xda-devs.

How many percent of the xda-devs cook here will cook it into their ROMs?

So that means anyway without a cab XDA_UC can not reach more than 10% of the total WM user.

But if a cab is available, that means ALL WM users, doesn't care what ROM they are using, only if they want they can use it.

plus

If everybody understands the following point, I think many of the medium-to-advanced WM users would run for using it:

If I'm not misunderstood, XDA_UC could also be used as a kindof Data Backup & Restoration Tools, coz I assume after further development, it will be able to restore every selected data from before-last-hardreset.

Compares to SPB Backup, Sprite Backup, SK Backup, SPB Clone and Sprite Clone etc. ( these can backup & restore all datas but only all-datas, we don't have or have very less choice of selection on datas)

&

PIM Backup (only works on PIM data)

XDA-UC has an overwhelming advantage for data selection on restoration, you can select every single reg tweak or every single file to restore or not restore to the new setup by simply move them in-or-out of the XDA_UC folder before run it, using Total Commander's 'virtual 2 window view' function this is super easy. After this selection, all is done at once.

& this is the dream for tweakers.

I think you don't need to finish a cab in a hurry, better do it after everything already fixed.

Several weeks is not a long time to wait for a beauty like this to happen.

After a cab is available, it definitely become a revolution and this thread definitely worth a sticky for ever.

My $0.02