OK. I went through this and would like to share with those who can still resist. After creating the package, you need to unzip it and edit some files. See the .dnn file in your package. There, as Hamlin pointed out, you need to add SCRIPTS (not files) that will execute SQL scripts and create tables, stored procedures, and other database objects. Here is the part of the code that I added to the dnn file. It is added to the component tag.
<components> <component type="Script"> <scripts> <basePath>DesktopModules\UserComments</basePath> <script type="Install"> <name>05.02.05.SqlDataProvider</name> <version>05.02.05</version> </script> <script type="uninstall"> <name>uninstall.sqldataprovider</name> <version>05.02.05</version> </script> </scripts> </component> <component type="Module">
There you need to specify the paths, file types, file names and versions. Then you need to create the data files that you specify in the manifest. I used {databaseOwner} and {objectQualifier} to make sure the new database objects match the server on which they will be installed. They are case sensitive, so be careful, otherwise you will receive errors. This is what my dataprovider files look like:
02/05/05.sqldataprovider
ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE {databaseOwner}{objectQualifier}usercomments( [moduleid] [int] NULL, [comment] [text] NULL, [date] [datetime] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO create procedure {databaseOwner}sp_viewcomments @moduleid int AS BEGIN SET NOCOUNT ON SELECT moduleid, comment, date from {objectQualifier}usercomments where moduleid=@moduleid end go create PROCEDURE {databaseOwner}sp_usercommentsinsert @moduleid int, @comment text, @commentdate datetime AS BEGIN SET NOCOUNT ON; insert into {databaseOwner}{objectQualifier}usercomments (moduleid, comment, date) values (@moduleid, @comment, @commentdate) END go create PROCEDURE {databasOwner}sp_countcomments @moduleid int As begin SELECT count(*) from {databaseOwner}{objectQualifier}usercomments where moduleid=@moduleid end go
uninstall.sqldataprovider
DROP TABLE {databaseOwner}{objectQualifier}usercomments GO drop procedure {databaseOwner}sp_usercommentsinsert GO drop procedure {databaseOwner}sp_viewcomments GO drop procedure {databaseOwner}sp_countcomments go
Make sure sqlconnections are suitable for the new site and, if necessary, make changes to the files containing the connections (in my case, I had them in vb ascx.vb and ascx fle). I used this code to pull information from the web.config file and make the connection suitable for any site.
vb file:
Dim cn As New SqlConnection(ConfigurationManager.ConnectionStrings("sitesqlserver").ConnectionString)
ascx file:
ConnectionString="<%$ ConnectionStrings:SiteSqlServer %>"
Then pack all the files, including the new dataprovider files, into a zip file, and you should be good to go.