View Full Version : Create CAB File that does NOT allow uninstalling
molski
6th November 2006, 10:42 AM
Hi guys,
I use WinCE CAB Manager v1.1 for creating CAB files.
The only problem is that there is no option here like "Allow Uninstall: TRUE/FALSE" (like in v2.0).
I would like that some of the CAB files that I created do NOT show up in "Remove Programs".
Is there something like a standard INF file that I can use for this option, so that with every CAB that I am going to create I 1st import the .inf file (that sets uninstalling to False) and then add my files/registry settings and things like that.
If this is possible, can someone provide me with something like this?
Thanks and regards,
Molski
levenum
6th November 2006, 10:58 AM
As far as I know there is no such option in the INF, but the app that installs the cabs (wceload.exe) has the '/nouinstall' command line parameter.
molski
6th November 2006, 11:17 AM
As far as I know there is no such option in the INF, but the app that installs the cabs (wceload.exe) has the '/nouinstall' command line parameter.
So adding: "wceload.exe "%1" /nouninstall" to the registry would solve my problem.
But when I do this, every CAB file I install cannot be uninstalled.
I would like to set nouinstall per CAB file, so one CAB file can be uninstalled and another one cannot.
Regards,
Molski
TheBrit
6th November 2006, 07:10 PM
Why do you want to do this?
If I installed something that later could not be removed - I'd be VERY pissed off.
molski
6th November 2006, 07:20 PM
Why do you want to do this?
If I installed something that later could not be removed - I'd be VERY pissed off.
It's for 2 files I use in the Ext Rom of my Molski.Biz roms.
And believe me...you DON'T want to uninstall these 3 files ;-)
Molski
meschle
6th November 2006, 07:59 PM
Hi molski
If you remove the registry entry in HKLM\security\appinstall for the named apps they wont show in the remove program list. You could make a cab file to do this after installing the other cabs, or try including this in the apps cabs - I only know how to do this with xml. If you need help give us a shout.
molski
6th November 2006, 08:36 PM
Hi molski
If you remove the registry entry in HKLM\security\appinstall for the named apps they wont show in the remove program list. You could make a cab file to do this after installing the other cabs, or try including this in the apps cabs - I only know how to do this with xml. If you need help give us a shout.
Is it possible that you could create a XML file for me that I could use in the CAB'S that I want to prevent from uninstalling?
If you want I can PM you the CAB files.
Thanks,
Molski
meschle
6th November 2006, 08:56 PM
Is it possible that you could create a XML file for me that I could use in the CAB'S that I want to prevent from uninstalling?
If you want I can PM you the CAB files.
Thanks,
Molski
Yes pm the cab files and i will see what i can do - i have managed to delete the reg entry with a cab so far and will try to include it in yours. What do the cabs install? Will it affect my wizard?
doedoe
6th November 2006, 09:01 PM
Install all of your files and export HKLM\security\appinstall to a .reg
Post the contents here and we can make you the cab you are after.
molski
6th November 2006, 09:33 PM
Yes pm the cab files and i will see what i can do - i have managed to delete the reg entry with a cab so far and will try to include it in yours. What do the cabs install? Will it affect my wizard?
It are 2 files, Performance and Registry tweaks CABS.
Check out "My Cabs" page on www.molski.biz for what the files do with your Wizard.
Molski.
meschle
6th November 2006, 09:48 PM
It are 2 files, Performance and Registry tweaks CABS.
Check out "My Cabs" page on www.molski.biz for what the files do with your Wizard.
Molski.
Yes i am familiar with those - i'll download the cabs and i will see what can be done.
molski
6th November 2006, 10:57 PM
Yes i am familiar with those - i'll download the cabs and i will see what can be done.
I will PM you the latest version tomorrow, don't use the files on molski.biz, they are outdated :)
Molski
meschle
6th November 2006, 11:01 PM
I will PM you the latest version tomorrow, don't use the files on molski.biz, they are outdated :)
Molski
I have posted you a cab - it appears the best fix. I doubt if including the reg tweak in the 2 cabs would work as the reg values are added after the install. Install my cab after yours and it will do a fix - i have left the name of the fix cab blank so it does not appear in the uninstall programs list.
rename zip to cab
da_mayhem
7th November 2006, 06:46 AM
@molski...
What are those cab files for? if those CAB files are only for registry manipulation (meaning no files would be dumped to th device) then CAB Provisioning will be the best, it doesn't show on the Remove Programs.. Please tell if that's what you are looking for. Goodluck!
molski
7th November 2006, 10:10 AM
Here are the 2 tweak files, they are created with WinCE CAB Manager v1.1
I would like that these 2 files cannot be uninstalled after they are installed by the Extended Rom.
And please...can you guys be sure that after adding the "nouninstall" option to these files I still can edit them with WinCE CAB Manager v1.1 (because I noticed that WinCE CAB v1.1 cannot open every CAB file, especially files that are created with Visual Studio or a newer version of WinCE CAB Manager).
Really thanks a lot guys!
Regards,
Molski
p.s. Some of the tweaks are in both files in case people want to manually install one of the files, but for installing via the Ext. Rom I want to make sure that they are not able to uninstall!
p.s.2 These are the tweaks that are in the files right now:
The file: Molski.Biz Performance Registry Tweaks
Increase FileSystem cache
Increase FileSystem filter cache
Increase font cache
Disable window animations
Disable menu animations
Enable FileSystem cache
Enable ClearType
Enable ClearType in Landscape mode
Change the thickness of scrollbars to 9
Change the length of scrollbar arrow buttons to 9
Enable 802.11g 54Mbps
Set IE Mobile Zoom Settings to "normal"
Move "IE Temporary Internet Files" to 'Storage Card' ( \Storage Card\IE Mobile\ )
Move "IE History" to 'Storage Card' ( \Storage Card\IE Mobile\ )
Move "IE Cookies" to 'Storage Card' ( \Storage Card\IE Mobile\ )
Move "IE Cache" to 'Storage Card' ( \Storage Card\IE Mobile\ )
Enable CAPS Lock indicator
The file: Molski.Biz Customizing Tweaks
Don't delete CAB files after installing
Turns SMS Delivery on
Install Wireless today plug-in
Enable receiving of files over BlueTooth/IrDA
Add time sync page to Phone Settings
Add a 'Disconnect' button (and Timer) to the "GPRS Balloon Tip"
Disables different GPRS/EDGE indicator icon
Show All Day Event and tomorrow appointments on the Today Screen
Workaround to avoid GPRS connections conflict with phone calls
Enable DTMF Support
Always show the clock in the taskbar
t0flus
7th November 2006, 12:18 PM
I've edited the files so that they are uninstallable.
Don't know if they will open inn 1.1
But If the cab files only contain reg entries the solution da_mayhem suggested is a better alternative.
Øystein
molski
7th November 2006, 12:23 PM
@molski...
What are those cab files for? if those CAB files are only for registry manipulation (meaning no files would be dumped to th device) then CAB Provisioning will be the best, it doesn't show on the Remove Programs.. Please tell if that's what you are looking for. Goodluck!
CAB Provisioning sounds great....can you give me some more info on how to do this?
The CAB files are only containing Registry Entries.
Molski
molski
7th November 2006, 12:24 PM
I've edited the files so that they are uninstallable.
Don't know if they will open inn 1.1
But If the cab files only contain reg entries the solution da_mayhem suggested is a better alternative.
ุystein
Thanks, unfortunately they cannot be openend anymore with 1.1, but until I have some changes to these files they will be perfect.
Can you give me some more info on how you did this?
Maybe I can do it myself also :)
Molski
molski
7th November 2006, 12:26 PM
I've edited the files so that they are uninstallable.
Don't know if they will open inn 1.1
But If the cab files only contain reg entries the solution da_mayhem suggested is a better alternative.
ุystein
When I try to install the files it says that the files are not compatible with my current OS ?
Molski
t0flus
7th November 2006, 12:35 PM
I just opened and edited them with Cab Manager 2.0
The Registry CSP is documented at MSDN: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mobilesdk5/html/wce51grfregistrycsp.asp
I've attached a example and the only thing you need to do is to edit the _setup.xml file and run runme.bat to generate the cab file.
Easy as .... dell..?
Best regards
ุystein
da_mayhem
7th November 2006, 01:17 PM
CAB Provisioning sounds great....can you give me some more info on how to do this?
The CAB files are only containing Registry Entries.
Molski
Ok, then that's perfect..here's a quick draft about CAB Provisioning..
You need 3 files - XML File, CabWiz(SP).exe and MakeCAB.exe ( all attached )
First, create an XML file which contains all the registry entries to be written or changed on the device, here's the format
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKLM\Drivers\USB\FunctionDrivers">
<parm name="DefaultClientDriver" value="Serial on USB" datatype="string" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
that would be changing the value of HKLM - Drivers - USB - FunctionDrivers - DefualtClientDriver - to Serial USB
so if you are going to include more registry mainpulations in one CAB file, should look like this
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKLM\Drivers\USB\FunctionDrivers">
<parm name="DefaultClientDriver" value="Serial On USB" datatype="string" />
</characteristic>
<characteristic type="HKLM\Drivers\USB\FunctionDrivers">
<parm name="DefaultClientDriver" value="RNDIS" datatype="string" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
then so on..
Remember that the string
<wap-provisioningdoc>
<characteristic type="Registry">
should always be there on the top, and
</characteristic>
</wap-provisioningdoc>
Should always be on the bottom, otherwise, it would fail to install on the device.
Now after creating an XML file ( of course save as ***.xml ), create a folder on PC, put all the files there - xxx.xml , MakeCAB.exe, CABwiz(SP).exe
Then launch the Command Prompt..
Assuming the folder is on drive C:\Test CAB, navigate the Command Prompt to that directory ( or type cd c:\Test CAB ) then type this:
makecab.exe xxxx.xml test.cab
test.cab would be the CAB filename and the xxxx.xml is your XML file.
then the CAB file would be dumped on the same directory ( C:\Test CAB )
molski
7th November 2006, 01:39 PM
Nice stuff!
Gonna check it out tonight....right know I am a little bit busy at work ;)
Thanks,
Molski.
mestrini
7th November 2006, 09:35 PM
Ok, then that's perfect..here's a quick draft about CAB Provisioning..
You need 3 files - XML File, CabWiz(SP).exe and MakeCAB.exe ( all attached )
did you meant to attach files here?
I'd really like to get CabWiz(SP).exe but without having to install the SDK so if you could share them i'd apreciate
thx
da_mayhem
8th November 2006, 02:10 AM
did you meant to attach files here?
I'd really like to get CabWiz(SP).exe but without having to install the SDK so if you could share them i'd apreciate
thx
I'm sorry mestrini, almost forgot he he he
here are the files, i guess you don't need the cabwizsp.exe,i have tried creating a cab without that file and it worked, i just didn't test it to install.. and also, i will be including the cabwiz.ddf to make it sure it would work..just put all the files together in one folder..
I am having an issue of failing to install on the device while i have triple checked the xml and it's fine, i just don't where is the flaw, but some CAB worked great for me..
mestrini
8th November 2006, 02:21 AM
thanks for the trouble m8 but i was anxious to try my first cab so i did get the SDK from MS and installed it just for those files.
After reading yours and some other guys explanations on "xml2cab" i made my own "EnableRAPI.cab" which worked flawless :D
and i even packed the "makecab" files in a rar file just like yours except for a readme.txt file i may use sometime in the future when i forget the theory and a batch file i thiink i got from Buzz that avoids using the command prompt ;)
cheers
PS:
i know you've uploaded already but i'll leave it anyway
PS2:
don't forget to check for virus (hehe)
da_mayhem
8th November 2006, 02:24 AM
thanks for the trouble m8 but i was anxious to try my first cab so i did get the SDK from MS and installed it just for those files.
After reading yours and some other guys explanations on "xml2cab" i made my own "EnableRAPI.cab" which worked flawless :D
and i even packed the "makecab" files in a rar file just like yours except for a readme.txt file i may use sometime in the future when i forget the theory and a batch file i thiink i got from Buzz that avoids using the command prompt ;)
cheers
PS:
i know you've uploaded already but i'll leave it anyway
PS2:
don't forget to check for virus (hehe)
I have included a stealth bomber inside my ZIP file ha ha ha J/K
Nice mate!
mestrini
8th November 2006, 02:26 AM
I am having an issue of failing to install on the device while i have triple checked the xml and it's fine, i just don't where is the flaw, but some CAB worked great for me..
remember that some registry areas are restricted and only if SPC certify is disabled you can write to them via CAB file
da_mayhem
8th November 2006, 02:37 AM
remember that some registry areas are restricted and only if SPC certify is disabled you can write to them via CAB file
yes yes yes, i agree..
If that problem occurs, try to create a new one thru the INF based CAB creating..you just need to create a simple or maybe blank text file to be dumped on the phone and tag the registry targets on the bottom part.. i just don't know if it would work, haven't tested it yet.
Btw, how's molski?...waiting for your new rom. :D
mestrini
15th November 2006, 11:37 AM
@da_mayhem
I learned a lot from your example and it made me look for more info but what i just could not find (even after two days) is the way to write a REG_BINARY key to the registry with wap-provisioningdoc. I always get the strangest values.
Any help would be great
cheers
da_mayhem
16th November 2006, 05:08 AM
@da_mayhem
I learned a lot from your example and it made me look for more info but what i just could not find (even after two days) is the way to write a REG_BINARY key to the registry with wap-provisioningdoc. I always get the strangest values.
Any help would be great
cheers
I believe CAB Provisioning is very limited, down to the basic of basics..ill try to make a workaround for it and see if its possible. :) If ever you'll find a way, please post it here, thanks. :)
mestrini
16th November 2006, 10:33 AM
tx for the reply m8
What i need to do is to add the following (non-existing by default) key
HKLM\Time
Name=TimeZoneInformation
Value=000000000047004D0054000000000000000000000000 00000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000A 00000005000200000000000000000000004200720069007400 6900730068002000530075006D006D00650072002000540069 006D0065000000000000000000000000000000000000000000 00000000000000000300000005000100000000000000C4FFFF FF
type=REG_BINARY
which is created when i change my time zone to "GMT London, Dublin"
I know that the initial values stand for:GMT (474D54) with null bytes between the letters but my problem is how to do the null bytes using ASCII
check here:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mobilesdk5/html/wce51samaddingkeyvaluesmodifyingvalue.asp
the example given at this page doesn't include what i need :(
hope someone can give a hand...
cheers
t0flus
16th November 2006, 12:42 PM
This is how I do it.
I query the device for the reg key by XML provisioning after it is set up with the right timezone. Unzip the attached file and run the RunConfig.bat with your device connected.
The reg query specified in RapiConfigIn.xml will run on the device and the result will be output to RapiConfigOut.xml.
A query of my device gives me:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKLM\Time" translation="filesystem">
<parm name="TimeZoneInformation" datatype="binary" value="xP///1cALgAgAEUAdQByAG8AcABlACAAUwB0AGEAbgBkAGEAcgBkACA AVABpAG0AZQAAAOxV1wMAAAAAgPwDAJjoAhwAAAoAAAAFAAMAA AAAAAAAAAAAAFcALgAgAEUAdQByAG8AcABlACAARABhAHkAbAB pAGcAaAB0ACAAVABpAG0AZQAAAOAOAwABAAAAKFX+AgAAAAAAA AMAAAAFAAIAAAAAAAAAxP///w=="/> </characteristic>
</characteristic>
</wap-provisioningdoc>
Which is GMT+1 Berlin, Roma.
Hope this helps!
Best regards
ุystein
mestrini
16th November 2006, 06:07 PM
Wooohhoooo it worked :D
I knew about querying a key and already played with RapiConfig.exe but never thought about using it for this purpose.
Thanks so much for the tip m8, now my extended_rom personalising CAB is done :)
cheers
PS:
I could be mad for spending so many hours surfing the web for this answer but it got me to know a lot more about my device (too bad the day only has 24hours :( ;) )
jimmymotek
17th November 2006, 01:28 PM
Hi there,
I've take the files from this thread
and now they are (un)uninstallble ,
hope you'll like it.
Jimmy
http://rapidshare.com/files/3709312/Molski.Biz_TweaksNoUninstall.zip.html
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.