I have developed my application and created the .cab file for this application. I followed the tutorial on creating an MSI file and custominstaller and this works fine. My problem comes from the fact that my application must also install .NET framework 2.0 and the SQLMobile .Cab file.
I am wanting to package all of these together and be able to deploy them at one time from a users PC. I am not wanting to make the user click on each cab file to execute them.
Can anyone point me in the direction of a good tutorial to accomplish this, or give me a good idea on how to do it.
Thanks for any help

Deploying Multiple cab files at once
jamesIEDOTNET
Yes, you add them and repeat the same thing you've done with the first INI for each INI you have. Sample which does the right thing with one INI can be found here. You can do something like this:
// Run CeAppMgr.exe to install the files to the device
System.Diagnostics.Process.Start(appMgrPath,
"\"" + Path.Combine(installPath, CEAPPMGR_INI_FILE) + "\"");
// Run CeAppMgr.exe to install the files to the device
System.Diagnostics.Process.Start(appMgrPath,
"\"" + Path.Combine(installPath, CEAPPMGR_INI_FILE_1) + "\"");
// Run CeAppMgr.exe to install the files to the device
System.Diagnostics.Process.Start(appMgrPath,
"\"" + Path.Combine(installPath, CEAPPMGR_INI_FILE_2) + "\"");
// Run CeAppMgr.exe to install the files to the device
System.Diagnostics.Process.Start(appMgrPath,
"\"" + Path.Combine(installPath, CEAPPMGR_INI_FILE_3) + "\"");
...
}
You can also register all INIs with CeAppMgr and then invoke them. MSDN has description of that.< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
My Name is Adam
You best bet is deploy CABs one by one via CeAppMgr and INI files.
Nested CABs is rather theoretical possibility – I’ve never seen and practical implementation.
Lorry Craig
palmqvist
Now I have to check to see if the user has an SD card in, and if so, install pictures on it. Can you force the installation to install onto an SD card. Or better yet, force a cab file to use the SD card.
and if so, how do you determine if it is called SD Card or Storage Card.
Jamie Thomson
It probably would work if you add some code to wait for CeAppMgr to exit before running next INI.
Here's the search query for the link, I believe it's the first one in the list.
http://search.msdn.microsoft.com/search/default.aspx siteId=0&tab=0&query=register+INI+CeAppMgr
NetPochi
These functions are indeed in optional setup DLL which lives inside a CAB file and runs on device while CAB is installed. So it's irrelevant to the desktop side installer. There's sample code for CAB setup DLL in WM SDK (C++ as it must be native).
Shodin
Please try this:
System.Diagnostics.Process.Start(appMgrPath, "\"" + Path.Combine(installPath, ceappmgr_INI_File_NET) + "\"").WaitForExit();
In VB it looks like this:
System.Diagnostics.Process.Start(appMgrPath, "\"" + Path.Combine(installPath, ceappmgr_INI_File_NET) + "\"").WaitForExit()
By the way, you can create installer DLL in VB if you having issues with C#.
Lukke
http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=81205&SiteID=1
http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=1130808&SiteID=1
http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=384088&SiteID=1
Steve Russell
GRK
System.Diagnostics.Process.Start(appMgrPath, "\"" + Path.Combine(installPath, ceappmgr_INI_File_NET) + "\"");
System.Diagnostics.Process.Start(appMgrPath, "\"" + Path.Combine(installPath, ceappmgr_INI_File2) + "\"");
System.Diagnostics.Process.Start(appMgrPath,"\"" + Path.Combine(installPath, CEAPPMGR_INI_FILE) + "\"");
This is working to an extent. It sometimes gives me an error and sometimes installs 1 or 2 or all 3 cab files. What I want to do is pause the system in between the starts and check the process continually until it is finished then start the next one. I have never written an C# code, so I will need some help. How do I check to see if a process is still active and running or done. also how would I pause the installerDLL. something like untilll process is stopped do nothing. Once the process is stopped, start the next one.
Karthy
Could you provide full code for the deployment stages
Please
maybe email me @ jason.jones@cornerkey.com
or even maybe try and answer this quetsion hehe
http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=1232744&SiteID=1
Many Thanks in advance!!!
ridvan
CAB installer would determine if storage card is available on device upon installation and user would have the opportunity to install on to it.
Peter K
Can I use installer.dll to do what I am wanting to do. If I create different .cab projects and different .INI files and use them in the installer.dll. would this work to do what I want it to do.
I have seen people talking about the setup.dll file. If this is my best option. Is there anywhere that I may be able to get some sample code to try to do it that way.
Always Learning