views:

17

answers:

1

Hello.

I have followed this example

http://msdn.microsoft.com/en-us/library/Aa446504

and it works fine.

The cab is created and i can copy it on the device and install the app.

What im missing is that on device the application is not present in Programs folder. All i can do is browse to its location in /program files and run it manualy.

Can some1 tell me how to:

  • install CAB so it makes a shortcut in programs on device
  • run the application automaticly after it has been installed

thanx !

A: 

The CAB project is pretty non-intuitive and in reality I've not used it on any project since I wrote that article. I opt to instead hand-write my INF file and use a batch file to call CABWIZ for me.

If you want to use a CAB project, however, then in the File System part of the CAB project you can select any given file and then choose to make a shortcut from it by right-clicking. You can then move that shortcut into any other folder in the tree.

Move the shortcut into the \Windows\Startup folder (make it manually or right click and use "Add Special Folder" to select Startup) and the app will run after a soft reset.

To make it run on installation is more complex and can't be done directly with a CAB. Instead you have to create a custom setup.dll (in C) and use that to launch your app.

ctacke
I have created a Visual C++ MFC Smart device DLL project.I have set the CE Setup DLL property of my Smart Device CAB project to the previous mentioned project. I have edited the "appName".cpp file and included ce_setup.h. In the Install_Exit() function in this file i have included a code that would start the app after install. But when testing nothing happens ... what am i doing wrong here? Is there any good example how to do this? ... Also another question ... how do i deploy .NET CF to be included in the CAB file. Or do i have to install it manualy before ...
no9
The problem is likely that you've made an MFC DLL. Now you have to deploy MFC before your CAB file so that it's installed before the CAB file is extracted.
ctacke