Michael R wrote: > It seems that the problem is the following: > > During the initialization the nsNSSComponent call InitializeNSS() function. > Inside InitializeNSS() there is a call to : > > rv = > NS_GetSpecialDirectory(NS_APP_USER_PROFILE_50_DIR,getter_AddRefs(profilePath)); > > The value of NS_APP_USER_PROFILE_50_DIR is "ProfD". > The problem is that this call returns an error. > It seems that the profile directory is not defined. > How can I define it ?
1) What branch are you using? 2) A profile is just a directory, but it can only be accessed by a single process at a time, so Mozilla uses a locking mechanism. This mechanism is exposed on the trunk in the toolkit: http://mxr.mozilla.org/mozilla/source/toolkit/xre/nsXULAppAPI.h#266 You have to provide a directoryserviceprovider when you initialize XPCOM (either with NS_InitXPCOM2 or XRE_InitEmbedding) that responds to ProfD. The comments in that file have additional information. If you're using the branch, you'll probably need to emulate these APIs. There's an old lib (libprofdirserviceprovider_s) that provides a static lib which provides some of these functions. You'd have to take a look in http://lxr.mozilla.org/mozilla1.8/source/profile/dirserviceprovider/public/nsProfileDirServiceProvider.h to see how to use it. --BDS _______________________________________________ dev-tech-xpcom mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-xpcom
