You Are Here:

Community: Wiki

This page was last modified on 18 June 2009, at 20:32.

TSS001073 - Backup of add-on DLLs

From Forum Nokia Wiki



ID TSS001073 Creation date August 12, 2008, updated September 17, 2008
Platform S60 3rd Edition Devices All (S60 3rd Edition)
Category Symbian C++ Subcategory Base/System, Backup & Restore


Keywords (APIs, classes, methods, functions):

Description

3rd party application developers need to enable backup and restore for their applications by including a backup_registration.xml file in the application's private directory. If the main application is designed so that its functionality can be later extended by installing add-on components (DLLs), they should be registered for backup as well.

Solution

If the UID of the DLL to be installed is known in beforehand, the backup registration of the DLL can be done by the main application package by using the following statement in the pkg file:

"DLL1BinaryBackup.xml" 
     - "!:\private\10202D56\import\packages\<DLL1_UID>\backup_registration.xml"

In this case, the add-on DLL can be installed as a normal SISX package. Typically, a minimal system backup definition (taking backups of the binaries) is sufficient for the DLL.

See File:DLLBackupExample.zip for sample .pkg definitions.

The DLL installation can also be carried out with a partial upgrade (PU) SIS package over the existing application in case the UID of the DLL is not known. This upgrade package then defines the backup registration file, and either the add-on DLL directly or an embedded SISX file containing the binaries.


Backup of files generated by plug-ins

Apart from just backing up the binaries of the plug-in binaries, it might also be necessary for the user to backup the files generated by the plug-ins (for example, plug-in-specific settings).

Any application backup_registration*.xml present in the application's private directory indicates the files that need to be backed up. The backup_registration.xml is regarded as the main backup file of the application whereas other files only provide additional files not mentioned in the main backup file.

See File:BackupOfPluginComponents.zip for sample .pkg definitions.

MainApp.pkg: Package file of the main application with its own backup_registration.xml file.

MyPrivateFilesDLL1_Upgrade.pkg: Upgrade package for the main application. Includes the plug-in DLL1 as an embedded SIS.

The important line in the MyPrivateFilesDLL1_Upgrade.pkg file :-

   "<DLL1 Path>\DLL1PrivateFileBackup.xml"
       - "!:\private\<APP_UID>\backup_registration1.xml"

copies an additional file backup_registration1.xml to the private directory of the main application.

The backup_registration1.xml can define all additional files that need to be backed up. For example:

 <include_file name="c:\private\<APP_UID>\backup\<DLL_UID>\DLL1File1.txt" />
 <include_file name="c:\private\<APP_UID>\backup\<DLL_UID>\DLL1File2.dat" />
 ...

Any additional files to be backed up must either be in a public folder or under the main application's private folder structure.


Notes

The file name "DLL1BinaryBackup.xml" is only used to distinguish between the main application and the add-on DLL. When defining backup registration files in a .pkg file, the target name must always be in the following format: backup_registration*.xml.


Trying to update the main application's backup_registration.xml to contain additional files/folders with a PU-type SIS package has no effect.


See also

TSS000750 - Enabling backup and restore for installed C++ applications

Related Wiki Articles

No related wiki articles found

Rate This

 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZdescriptionQSxEa0E20WikiE20javaE20symbianE5fosE20s60E20maemoE20cE2bE2bE20WikiE20HomeE20WikiE20HelpE20OverviewE20GlossaryE20CreateE20PageE20ProposeE20anE20ArticleE20SpotlightE20TopicE20E2dE20WE52TE20WidgetsE20ProgrammingE20E4canguageE20E2dE20SymbianE20CE2bE2bE20E2dE20OpenE20CE2fCE2bE2bE20E2dE20JavaE20E2dE20FlashE20E4citeE20E2dE20PythonE20WebE20TechnologiesE20E2dE20WE52TE20WidgetsE20E2dE20WidSetsE20ToolsE20andE20SE44KE20CodeE20E45E78amplesE20KnowledgeE20BaseE20TechnologyE20AreasE20SoftwareE20PlatformsE20E44evelopmentE20ProcessE20E3fE3fWikiE20ChineseE20E3fE3fE3fWikiE20JapaneseE20PortugueseE2fBrazilianE20E52ussianE20WhatE20linksE20hereE20UploadE20fileE20SpecialE20pagesE20PrintableE20versionE44ownloadE20asE20PE44FE20GoE20ToE20E2eE2eE2eX qdcZidentifierQSxhttpE3aE2fE2fwikiE2eforumE2enokiaE2ecomE2findeE78E2ephpE2fTSS000659E5fE2dE5fHowE5ftoE5fmuteE5faE5fringingE5ftoneE5fonE5fS60E5f3rdE5fE45ditionE5fdevicesX qdcZpublisherQUxhttpE3aE2fE2fswE2enokiaE2ecomE2fidE2fc764fd1cE2d8b06E2d499aE2d9a6aE2d17c3903d5a65E2fforumE5fnokiaE5fcrawlerE5fagentX qdcZtitleQSxTSS000659E20E2dE20HowE20toE20muteE20aE20ringingE20toneE20onE20S60E203rdE20E45ditionE20devicesE20E2dE20ForumE20NokiaE20WikiX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZKnowledgeBaseContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZTechnicalSolutionQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqfntypeZWikiContentQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qrssZdescriptionQSxEa0E20WikiE20javaE20symbianE5fosE20s60E20maemoE20cE2bE2bE20WikiE20HomeE20WikiE20HelpE20OverviewE20GlossaryE20CreateE20PageE20ProposeE20anE20ArticleE20SpotlightE20TopicE20E2dE20WE52TE20WidgetsE20ProgrammingE20E4canguageE20E2dE20SymbianE20CE2bE2bE20E2dE20OpenE20CE2fCE2bE2bE20E2dE20JavaE20E2dE20FlashE20E4citeE20E2dE20PythonE20WebE20TechnologiesE20E2dE20WE52TE20WidgetsE20E2dE20WidSetsE20ToolsE20andE20SE44KE20CodeE20E45E78amplesE20KnowledgeE20BaseE20TechnologyE20AreasE20SoftwareE20PlatformsE20E44evelopmentE20ProcessE20E3fE3fWikiE20ChineseE20E3fE3fE3fWikiE20JapaneseE20PortugueseE2fBrazilianE20E52ussianE20WhatE20linksE20hereE20UploadE20fileE20SpecialE20pagesE20PrintableE20versionE44ownloadE20asE20PE44FE20GoE20ToE20E2eE2eE2eX qfnZdistributionQUxhttpE3aE2fE2fwikiE2eforumE2enokiaE2ecomE2fX qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZKnowledgeBaseContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZTechnicalSolutionQ qfnZtypeQUqfntypeZWebpageQ qfnZtypeQUqfntypeZWikiContentQ qfnZupdatedQDx2008E2d10E2d02X qmarsZdescriptionQSxEa0E20WikiE20javaE20symbianE5fosE20s60E20maemoE20cE2bE2bE20WikiE20HomeE20WikiE20HelpE20OverviewE20GlossaryE20CreateE20PageE20ProposeE20anE20ArticleE20SpotlightE20TopicE20E2dE20WE52TE20WidgetsE20ProgrammingE20E4canguageE20E2dE20SymbianE20CE2bE2bE20E2dE20OpenE20CE2fCE2bE2bE20E2dE20JavaE20E2dE20FlashE20E4citeE20E2dE20PythonE20WebE20TechnologiesE20E2dE20WE52TE20WidgetsE20E2dE20WidSetsE20ToolsE20andE20SE44KE20CodeE20E45E78amplesE20KnowledgeE20BaseE20TechnologyE20AreasE20SoftwareE20PlatformsE20E44evelopmentE20ProcessE20E3fE3fWikiE20ChineseE20E3fE3fE3fWikiE20JapaneseE20PortugueseE2fBrazilianE20E52ussianE20WhatE20linksE20hereE20UploadE20fileE20SpecialE20pagesE20PrintableE20versionE44ownloadE20asE20PE44FE20GoE20ToE20E2eE2eE2eX qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZKnowledgeBaseContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZTechnicalSolutionQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqfntypeZWikiContentQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ