Hi folks!
I have an issue that I'm hoping somebody here can help with.
I have a customer for whom I'm developing a custom app for WM5. In discussions about installation/deployment the need came up for the cab installation to be completely automated. What I mean by that is to make sure that once the cab starts executing, no dialogs appear prompting the user for input (i.e. install location). They need this to be completely automated.
Now, I've done my research and found that there is a section called "DefaultInstall" in the .inf file that is used during the build of a cab file that will allow you to specify the installation location and therefore bypassing the pop-up dialog during the execution of the cab file. That's great and will work fine. The problem is that there are also some other cabs that are installed as part of the deployment of the application (third-part API's, SQL CE etc.) that already have their cabs pre-built without a default location specified. This causes the pop-up to appear.
Does anyone know of any workaround for these other cabs? Any way that I can get them to install to a default location so that they don't display the pop-up?
Would extracting the files from these pre-built cabs and re-build them with the DefaultInstall section work?
Your help is appreciated.
Thanks!!
Ag.
Try this http://row1.info/content/view/85/2/
Use a custom install dll
Thanks doedoe!
I haven't tried it out but I will and post the results here.
Anybody else have any ideas?
thx.
have you thought about calling wceload.exe with "/noui" or "/silent" params?
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=823109&SiteID=1
thx mestrini,
I remember looking into that and running into similar issues that are discussed on the site that your link points to.
I will give it a shot again and see what happens...
Hi All,
Wouldn't it be great to be able to control which applications ran on your PDA...Ensuring that your users could not run certain apps would be a real bonus.
So I came across a URL that explained just how to do this...
http://www.satter.org/2007/03/lets_shell_some.html#comment-74156022
Sadly, for me I am on WM6 but only have access to the WM5 SDK and when I tried to carry out the suggestions I failed with the SMS text error:
Change of Device Settings Unsuccessful
Your device settings cannot be changed by Test.cpf
So I am at a dead end. Can anyone else who has interest step in and assist this beginner to get this function working?
I ran the SDKCerts.Cab on my device and the SecurityOff.CPF file. They were successful and I got the SMS message telling me that the changes in SecurityOff.cpf were successful.
I am probably close to a solution but don't have the background to make the last few steps. Can anyone else assist me please?
Have I just a typo in my test.cpf file (on the URL there is a message about the script containing a typo error - I couldn't spot it though...was it fixed?)
All help is greatly appreciated and would deserve a beer or a cyber equivalent.
Many thanks,
PianoSam.
Could you post the wap-provisioning source you used? So I could check for a typo or sumthin.. I've done the same thing as the blogg describes, and it works fine with me..
I on the other hand, wanted to restrict wceload being loaded via Activesync->Add/Remove programs.. but it seems like RAPI doesn't use the same disallowrun settings etc..
But post you cpf file or you code.. and i'll take a look at it.
Hi,
Thanks for the assistance. I have attached a small zip with the various bits and pieces that I have.
My file is the test.cpf file. What I actually wish to do is to prevent Pocket IE from loading...although my test tried to control the clock.exe file.
all assistance is greatly appreciated and you have already renewed my hope that I might be able to do what is needed...
Thanks,
PianoSam
I'll have a look at it.. but it seems that the Test.cpf is just a doc or a rtf file you've renamed? You know this isn't a "cpf" file that wceload.exe can recognize?
I'll have a look at the registry settings within the file and build a cab/cpf file .. so i can test it... i'll let you know how this goes.. unfortunately, i can't reply before tomorrow.
I didn't realise...
Thanks for your help. I just created my test.cpf in word by cutting and pasting the xml script from the url.
I saved as utf-8 and thought job done. Sadly not.
So what should I do instead? forgive me but I don't know the steps to make a suitable cpf/cab file.
Once again THANK YOU for your kindness,
Sam.
Hi!
I`m so lucky I found this site and first of all my very regards to the touch-flo developer(s) it works just great on my charmer!
My question is how can I change the standard destination folder when I`m installing stuff?
When executing a cab on the storage card, it always installs to "Program Files" and during installation of an exe via AS the option "always install to standard folder" is not available...
Thanks in advance and keep up this excellent site!
gore
ok since noone is answering this seems to be a simple registry issue, right?
Might anyone just say "yes" or maybe even post the exact location of that value?
Hello,
could I ask any of the developers here to create very simple exe file for me that would actually do nothing.
Just two features needed:
1. system will recognize it as executable
2. will terminate itself immediately.
I just need to replace real application with it on some occasions by script.
I tried all other options to conditionally block the autorun but this seems to be my last option and I was not able to find one on the internet.
Many Thanks
hmmm, Im not a expert in EXE files, but wont a empty text file renamed to .exe do the trick?
This seems like it will do what you want. VS2005 project attached. It includes a compiled file for WM2003, which seems to run on WM6Pro fine. So, this ought to work on anything from WM2003 to WM6.1Pro.
…fantastic. This is exactly what I need.
Many Thanks!
not the right place to post.
READ THE RULES
thank you
I try to create a program which consists of
.asx files (to show online tv channels),
.lnk files (shorcuts to the .asx files) and
a .dll file which contains only some .ico files (icons of the tv channels).
I added all these files to a cab using WinCE Cab Manager and tried to install it on my ppc. So far so good. The problem occurred when the message “The program can not be installed. Choose another location” appeared during installation, just after the process bar was filled.
Although I have no idea about computer programming, I have created many cab’s with WinCE Cab Manager for skins I have created for several programs. Anyway, I realized that the problem occurred due to the .dll file, since this is the first time I add such a file in a .cab.
I created my .dll file using a .dll from another program which had only icons in it, as well. I deleted them using Restorator 2007 and I had an “empty” .dll sized 4KB. Then I added my icon files using XN Resource Editor.
I searched the Internet to see what might be the problem with the .dll and I found out that I have to “register” my .dll file. I really have no idea what this means but it needs to be done. I also found an option in WinCE Cab Manager for “self-registering” file, but it didn’t work either.
So, the question to you dev guys is how can I register my .dll file, or should I create it from the beginning with another way?
Please help! Thanks in advance!
sorry to repost but it seems that posts keep coming in this forum and this thread is already in the second page and I'm afraid that noone will see it and reply to it. By the way, is there any special sub-forum for such questions?
This may help. I use his instructions to edit existing DLL's
http://www.modaco.com/content/i9x0-...88904/lisbian-taskbars-for-i910/#entry1023568
It will unsign the dll which will probably fail on your custom dll but it should sign it when you are done editing.
NilsP
Many thanks for your suggestion but unfortunately it didn't work for me.
As you said, this is mainly for resigning already signed .dll files.
Any other help will be appreciated. I can attach it here if anypne is willing to help. Or just tell me the way. Thanks!
I deploy a few dll's with my app, without any problem. If the installer complains about the location, what did you specify where it should go?
There are 2 approaches to solve this problem:
1.) If you have a private key to match a certificate in the device's certificate store, sign the .dll and .cab with this private key and it will be installed with elevated privledges, and be successful. To facilitate this you can install the "SDK Certificates" - and sign with the matching private key (you should be able to find these on a search, term "SDKCerts" or similar)
2.) Look for an "Application Unlocker" or other security reduction tool, run it, and you should be able to install the cab. On this note, if you check here, it will give you a more technical overview of the security policies. You want to change 4101 / 0x1005 to "SECROLE_MANAGER" (8) - which tells the system to install it with elevated privledges. Also make sure 4102 / 0x1006 is set to 1 to allow unsigned applications.
6Fg8
I don't believe that is the location I specified that causes the problem because when I deleted the .dll file from the .cab, it was installed properly. How do you create your dll files? With programming or you just edit existing files? If I send you my .ico files, will you be able to create the .dll file for me?
Da_G
Thanks but both approaches seem very complicated for me!
So, will I need Visual Basic in order to do this or is there any easier way? Can anyone sign the dll for me?
angelos_cy said:
6Fg8
How do you create your dll files? With programming or you just edit existing files? If I send you my .ico files, will you be able to create the .dll file for me?
Click to expand...
Click to collapse
Yes with programming, C++ or .net. Never had any issue with signing. I can try to make a dll if you send me the icons (or post them here if they aren't too secret ).
6Fg8 said:
I can try to make a dll if you send me the icons (or post them here if they aren't too secret ).
Click to expand...
Click to collapse
I have sent them to you by pm. They are not secret at all but I will create a "program" (wannabe ) with that dll and I want that program to be a surprise for users of the forum where I'll post it. I may post it on xda too, but it's nothing important.
Many thanks!
angelos_cy said:
The problem occurred when the message “The program can not be installed. Choose another location” appeared during installation, just after the process bar was filled.
Click to expand...
Click to collapse
This happens because you've changed resources in signed file, which changed file checksum and invalidated it's signature, and Windows installer refuses to install file with invalid signature. But it won't refuse to install this file WITHOUT signature at all - so use unsigner (search for it on XDA) to remove signature completely; if you encounter error, try to remove signature from original (unmodified) file, and then change resources in it...
6Fg8
the_ozyrys
Thanks to both of you!
6Fg8 has created and signed the dll for me and it finally worked, but I also tried the_ozyrys' method and it also worked.
So thanks to baniaczek too, since he created the unsigner.exe.
Everything worked fine with the dll. Now the cab is installed properly.
However, I have another problem. Just after the installation of the cab on my ppc, it seems that the device freezes for about a minute. This is propably because my cab contains a lot of shortcuts (.lnk files) that go under Programs folder.
So, I would like to ask for another favour, if it's possible. As I said I intend to give this cab to others too. Since this delay can make them believe that my program has freezed their device, I would like to make the cab restart the device just after installation and after uninstallation as well. I think this is made with the "Setup.dll" which I don't know how to create.
If anyone knows how to do this and has the time for it, could you please create this setup.dll for me. If the cab is needed to do this, just tell me to send it to you.
Thanks in advance!
Anyone? Plzzzzzzz!
If you want to sign .dll or .exe u can use the apps posted in the two posts below
http://forum.xda-developers.com/showthread.php?t=432041
or
http://forum.xda-developers.com/showpost.php?p=3530246&postcount=18
raykisi
Thanks for your answer but 6Fg8 and the_ozyrys already helped me on that.
My question now is how to create a setup.dll in order to make my .cab to prompt the user to restart the device after installation and uninstallation. If anyone can do it for me, I can send you the .cab which I alreday created and you can add the setup.dll with those functions.