For some reason, I want the default Property Definitions that are inserted in the "ProfilePropertyDefinition" not to be inserted.
To that end, I prepared my own SqlDataProvider (which ensured that Property definitions with PortalId Null or -1 are not inserted), added its assembly to the Bin folder, made proper changes to the web.config (all this was done before installing DNN), and started on with the installation process.
However, at the end of installation, I found those default definitions in the table. It seemed like my Provider's AddPropertyDefinition method, never got called during installation, however it got called when the default portal was installed in the process.
I inspected the Sql Script files used during installation. Although due to their number & length, I could not study them in detail, but found some clues of INSERT statement that are directly executed to insert those Property Definitions without going through the provider.
So, is that correct that those Definitions are inserted directly without going through the Provider??
Moreover, my research revealed that those default definitions are used only for the Host account. In my installation, I needed shared profiles & property definitions across portals, and I have prepared & installed Providers for them, that already map Host account's properties to the shared properties.
So, if I delete those definitions manually, would that create some problem with the DNN Core?? Does DNN Core uses them in any other way except for maintaining host profile???
I tweaked the dotnetnuke.template definitions also, from which default Portal definitions are picked. It seems like even those are not consulted while installing default definitions??