Distribution Best Practices

  • Thread starter Thread starter houghtelling
  • Start date Start date
H

houghtelling

I have a project that uses a plug-in design pattern to load a specific
DLL at runtime depending on the handheld manufacturer.

For example, I have created two DLL files:
DolphinPlugIn.dll
SymbolPlugIn.dll

Will I have to create two different cab files? How would you go about
packaging this for distribution?

Also, I will support more manufacturer's in the future.
 
There are a few different ways to handle this, mostly limited to costs
incurred by installing the 3rd party DLLs.

Unless you have to pay per DLL used in an install, I would would just
include both DLLs at part of the same install. It will make life so
much eaiser for support, and give you more control over the release
while elimiating the "stupid user" aspect.

The only time I would not use this method is if the DLLs are fairly
large (> 256k).

The actual solution will be unique for each project, and depending on
the level of support you are required to give to your customers.

Using the KISS method (Keep It Simple Stupid) I have very few problems
getting software to install on various customer systems. In fact I tend
to have more control over things this way too.

Hope this helps,
 
If I package all the third party dlls into the cab is there a way to
have the cab file only unpack the required dll? Or delete the non
required dll files after the cab file has unpacked?
 
Alternatively, he could include a setup dll [1][2] to do the file deletion.
This would be done in the Install_Exit function. Note that the setup dll
must be written in native code (C++).

Both the [WM5] Pocket PC and Smartphone SDKs ship with a setup dll sample.
Look in %INSTALLDIR%\Windows CE Tools\wce500\Windows Mobile 5.0 <platform>
SDK\Samples\CPP\Win32\Setupdll Where <platform> is Pocket PC or Smartphone
and %INSTALLDIR% is your install directory (default is C:\Program Files).

hth,
Nino

[1]http://msdn2.microsoft.com/en-us/library/ms934867.aspx
[2]http://msdn2.microsoft.com/en-us/library/aa924308.aspx
 
Back
Top