Custom actions in deployment

G

Guest

Hi!
I believe this question has been asked before but I wasn't able to retrieve
anything from the archives.

I have built a deployment package using the guidelines on MSD
http://msdn.microsoft.com/mobility/...rary/en-us/dnnetcomp/html/netcfdeployment.asp

Now I have to include some custom actions that need to be executed before
and after install; before and after uninstall. From what I read, I had to
create a eVC++ project to do that. Is it the only way? What are the other
options and how should I go about them?

Any suggestions would help! Thanks for your time.
Regards,
Kumar
 
E

Ercan Turkarslan [MS]

Hi Kumar,

There are two different types of custom actions. The custom actions
mentioned in that MSDN article are executed on the desktop computer. If you
need to do that, the following article describes how you can define custom
actions.
http://www.codeproject.com/netcf/PackagingAndDeployingPPC.asp

If you want to execute code on the device, you need to create a CeSetupDLL
using eVC++ 3.0 or 4.0.

Please check the sample which comes with Pocket PC 2002 or 2003 SDK. Under
"..\AppInst\Code\Blackjack Setup" directory you will find the sample
CESetupDLL.

The following is the link to Pocket PC 2003 SDK.
http://www.microsoft.com/downloads/details.aspx?FamilyID=9996b314-0364-4623-
9ede-0b5fbb133652&DisplayLang=en

Thanks

Ercan
 
G

Guest

Thank you for the response, Ercan!

I want to run the custom actions on the device. I could not find the sample
you mentioned PPC 2003 sdk.
The complexity in writing the eVC++ dlls, in my view, arises in part because
of how activesync handles Add/Remove programs. A user could uninstall from
the device but not from the desktop or a user could delete the App folder in
the Program Files on the device or a user could try to install a new version
of the data when there is old unsynchronized data on the device.

I am not really a eVC++ programmer but I am willing to learn to build the
custom install package if I can find some good documented resources. I guess
I am on my own, for now :-(

Thanks anyways for your time.
Regards,
Kumar
 
E

Ercan Turkarslan [MS]

Hi Raj,

On my computer the path for the sample application is as follows;

D:\Program Files\Windows CE Tools\wce420\POCKET PC
2003\Samples\Win32\AppInst

So if you install Pocket PC 2003 SDK to the default folder it should be the
same except the drive letter.

Under AppInst there is a readme.txt which explains what is located where.

For some applications, developing with eVC++ may require more experience.
However modify this sample and building it should not be very complicated.

Link to eVC++ 4.0 (for Pocket PC 2003) is as follows:
http://www.microsoft.com/downloads/details.aspx?FamilyID=1dacdb3d-50d1-41b2-
a107-fa75ae960856&DisplayLang=en

This link also contains a link to the latest service pack for eVC++.

If you need to compile for PPC 2002 you should use eVC++ 3.0 which comes
with Embedded Visual Tools 3.0. The link is as follows:

http://www.microsoft.com/downloads/details.aspx?FamilyID=f663bf48-31ee-4cbe-
aac5-0affd5fb27dd&DisplayLang=en

Use "CESetupDLL" as the keyword while searching for information on the web.
You should find a lot of information on it.

The part in which you described why you need a custom setup dll is not
quite clear. Could you explain it a little bit more?

Thanks

Ercan
 
G

Guest

Hi! Ercan,
I did find the sample application and I am going to spend some time on it.
Now we are also looking at how to get the Autoupdater app work with our
solution.

The reason why we need to run custom actions on the device is because of the
app functionality. Our users are not really high-tech so we need to keep the
deployment part really simple with minimum user-input.

There might be occassions when the database schema might change on the
server side and the schema on the device may not be the current one. So if
the user tries to sync old schema based data to the new structure, there
might be conflicts/problems. In order to handle that, we need to make some
checks when anything like this happens and guide the user towards
uninstalling and reinstalling the app on the device. This is where I believe
CESetupDll could be useful. We could also get the checks for target platform,
CF service pack version into this custom setup. I hope this makes the purpose
clearer.

Thanks again for your time.
Regards,
Kumar
 
E

Ercan Turkarslan [MS]

Hi Raj,

In order to run CeSetupDll, your users should run the setup application
which is on the desktop. I am not sure how this fullfills your requirement.
CeSetupDLL is only launched by the desktop setup application (CeAppMgr.exe).

Thanks

Ercan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top