Commits

Anonymous committed 7290556

v.10 release

  • Participants
  • Parent commits 4f84025

Comments (0)

Files changed (15)

File trunk/lib/MySql.Data.dll

Binary file added.

File trunk/lib/System.Data.SQLite.dll

Binary file added.

File trunk/soddi.sln

 # Visual Studio 2008
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "soddi", "soddi\soddi.csproj", "{94451A1F-9DBA-438C-956F-CD1C072310B2}"
 EndProject
+Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "SODDI_Setup", "SODDI_Setup\SODDI_Setup.vdproj", "{85B8525F-8C2A-49BD-9902-06A881B2F829}"
+EndProject
 Global
 	GlobalSection(MercurialSourceControlSolutionProperties) = preSolution
 		SolutionIsControlled = True
 	EndGlobalSection
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
+		Debug|x86 = Debug|x86
 		Release|Any CPU = Release|Any CPU
+		Release|x86 = Release|x86
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 		{94451A1F-9DBA-438C-956F-CD1C072310B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{94451A1F-9DBA-438C-956F-CD1C072310B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{94451A1F-9DBA-438C-956F-CD1C072310B2}.Debug|x86.ActiveCfg = Debug|x86
+		{94451A1F-9DBA-438C-956F-CD1C072310B2}.Debug|x86.Build.0 = Debug|x86
 		{94451A1F-9DBA-438C-956F-CD1C072310B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{94451A1F-9DBA-438C-956F-CD1C072310B2}.Release|Any CPU.Build.0 = Release|Any CPU
+		{94451A1F-9DBA-438C-956F-CD1C072310B2}.Release|x86.ActiveCfg = Release|x86
+		{94451A1F-9DBA-438C-956F-CD1C072310B2}.Release|x86.Build.0 = Release|x86
+		{85B8525F-8C2A-49BD-9902-06A881B2F829}.Debug|Any CPU.ActiveCfg = Debug
+		{85B8525F-8C2A-49BD-9902-06A881B2F829}.Debug|x86.ActiveCfg = Debug
+		{85B8525F-8C2A-49BD-9902-06A881B2F829}.Debug|x86.Build.0 = Debug
+		{85B8525F-8C2A-49BD-9902-06A881B2F829}.Release|Any CPU.ActiveCfg = Release
+		{85B8525F-8C2A-49BD-9902-06A881B2F829}.Release|x86.ActiveCfg = Release
+		{85B8525F-8C2A-49BD-9902-06A881B2F829}.Release|x86.Build.0 = Release
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

File trunk/soddi/App.config

 <?xml version="1.0"?>
 <configuration>
   <configSections>
-    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
-      <section name="Salient.StackExchange.Import.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
+    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+      <section name="Salient.StackExchange.Import.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
     </sectionGroup>
   </configSections>
   <system.data>
  <userSettings>
   <Salient.StackExchange.Import.Properties.Settings>
    <setting name="SourceValue" serializeAs="String">
-    <value />
+    <value/>
    </setting>
    <setting name="TargetText" serializeAs="String">
-    <value />
+     <value>data source=c:\temp</value>
    </setting>
    <setting name="SplitChecked" serializeAs="String">
     <value>False</value>
     <value>False</value>
    </setting>
    <setting name="ProviderName" serializeAs="String">
-    <value />
+     <value>System.Data.SQLite</value>
    </setting>
   </Salient.StackExchange.Import.Properties.Settings>
  </userSettings>
-</configuration>
+<startup><supportedRuntime version="v2.0.50727" sku="Client"/></startup></configuration>

File trunk/soddi/Configuration/Configuration.cs

             {
                 Options = value
                               ? Options | ImportOptions.FullText
-                              : Options & (ImportOptions) (ImportOptions.FieldCount - ImportOptions.FullText);
+                              : Options & (ImportOptions)(ImportOptions.FieldCount - ImportOptions.FullText);
             }
         }
 
             {
                 Options = value
                               ? Options | ImportOptions.GUI
-                              : Options & (ImportOptions) (ImportOptions.FieldCount - ImportOptions.GUI);
+                              : Options & (ImportOptions)(ImportOptions.FieldCount - ImportOptions.GUI);
             }
         }
 
             {
                 Options = value
                               ? Options | ImportOptions.Indices
-                              : Options & (ImportOptions) (ImportOptions.FieldCount - ImportOptions.Indices);
+                              : Options & (ImportOptions)(ImportOptions.FieldCount - ImportOptions.Indices);
             }
         }
 
             {
                 Options = value
                               ? Options | ImportOptions.Split
-                              : Options & (ImportOptions) (ImportOptions.FieldCount - ImportOptions.Split);
+                              : Options & (ImportOptions)(ImportOptions.FieldCount - ImportOptions.Split);
             }
         }
 
         public Type[] GetAllTableTypes()
         {
             return
-                typeof (Posts).Assembly.GetTypes().Where(
-                    t => t.Namespace == typeof (Posts).Namespace && (Split || t != typeof (PostTags))).ToArray();
+                typeof(Posts).Assembly.GetTypes().Where(
+                    t => t.Namespace == typeof(Posts).Namespace && (Split || t != typeof(PostTags))).ToArray();
         }
 
         public string ToString(bool commandLine)
         {
             if (commandLine)
             {
-                string targets = string.Join(" ", Targets.Select(t => t.Name).ToArray());
+                string targets = string.Join(" ", Targets.Select(t => t.Name == t.Schema ? t.Name : t.Name + ":" + t.Schema).ToArray());
                 DbConnectionStringBuilder csb = new DbConnectionStringBuilder();
                 csb.ConnectionString = Provider.ConnectionString;
                 csb.Add("Provider", Provider.Name);
 
         public static ImportTarget GetSite(string source, string arg)
         {
-            string[] segments = arg.Split(new[] {':'}, StringSplitOptions.RemoveEmptyEntries);
+            string[] segments = arg.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
 
             string siteId = segments[0];
 

File trunk/soddi/Gui/frmUI.Designer.cs

             this.fullTextCheckBox.Size = new System.Drawing.Size(72, 24);
             this.fullTextCheckBox.TabIndex = 8;
             this.fullTextCheckBox.Text = "Full Text";
+            this.toolTip1.SetToolTip(this.fullTextCheckBox, "Sql Server only - Install full text index on Posts.Body and Posts.Title");
             this.fullTextCheckBox.UseVisualStyleBackColor = true;
             // 
             // indicesCheckBox
             this.indicesCheckBox.Size = new System.Drawing.Size(68, 24);
             this.indicesCheckBox.TabIndex = 7;
             this.indicesCheckBox.Text = "Indices";
+            this.toolTip1.SetToolTip(this.indicesCheckBox, "Define useful indexes to improve database performance");
             this.indicesCheckBox.UseVisualStyleBackColor = true;
             // 
             // sourceTextBox
             this.splitCheckBox.Size = new System.Drawing.Size(58, 24);
             this.splitCheckBox.TabIndex = 6;
             this.splitCheckBox.Text = "Split";
+            this.toolTip1.SetToolTip(this.splitCheckBox, "Split tags into a separate table");
             this.splitCheckBox.UseVisualStyleBackColor = true;
             // 
             // targetTextBox
             this.MessageColumnHeader});
             this.TasksListView.Location = new System.Drawing.Point(9, 220);
             this.TasksListView.Name = "TasksListView";
-            this.TasksListView.Size = new System.Drawing.Size(574, 148);
+            this.TasksListView.Size = new System.Drawing.Size(574, 205);
             this.TasksListView.Sorting = System.Windows.Forms.SortOrder.Ascending;
             this.TasksListView.TabIndex = 21;
             this.TasksListView.TabStop = false;
             // SiteColumnHeader
             // 
             this.SiteColumnHeader.Text = "";
-            this.SiteColumnHeader.Width = 3;
+            this.SiteColumnHeader.Width = 0;
             // 
             // TableColumnHeader
             // 
             // StateColumnHeader
             // 
             this.StateColumnHeader.Text = "State";
+            this.StateColumnHeader.Width = 70;
             // 
             // MessageColumnHeader
             // 
             this.MessageColumnHeader.Text = "";
-            this.MessageColumnHeader.Width = 250;
+            this.MessageColumnHeader.Width = 320;
             // 
             // statusStrip1
             // 
             this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
             this.StatusLabel});
-            this.statusStrip1.Location = new System.Drawing.Point(0, 377);
+            this.statusStrip1.Location = new System.Drawing.Point(0, 434);
             this.statusStrip1.Name = "statusStrip1";
             this.statusStrip1.Size = new System.Drawing.Size(592, 22);
             this.statusStrip1.TabIndex = 23;
             this.BrowseSourceButton.TabIndex = 2;
             this.BrowseSourceButton.Text = "...";
             this.BrowseSourceButton.UseVisualStyleBackColor = true;
+            this.BrowseSourceButton.Click += new System.EventHandler(this.BrowseSourceButton_Click);
             // 
             // FrmUI
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
             this.AutoScroll = true;
-            this.ClientSize = new System.Drawing.Size(592, 399);
+            this.ClientSize = new System.Drawing.Size(592, 456);
             this.Controls.Add(this.menuStrip1);
             this.Controls.Add(this.panel1);
             this.Controls.Add(this.statusStrip1);
             this.MaximumSize = new System.Drawing.Size(600, 1024);
             this.MinimumSize = new System.Drawing.Size(600, 400);
             this.Name = "FrmUI";
-            this.Text = "SODDI v.10 SO Fast  ;-)";
+            this.Text = "SODDI v.10";
             this.Load += new System.EventHandler(this.FormLoad);
             ((System.ComponentModel.ISupportInitialize)(this.BatchSizeNumericUpDown)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.dbProvidersBindingSource)).EndInit();

File trunk/soddi/Gui/frmUI.cs

                 }
 
                 //_importTargets
-                panel1.Enabled = false;
-                _abort = false;
-                StatusLabel.Text = "Importing...";
-                Configuration.Configuration config = BuildConfigurationFromUi();
-                StartImport(config);
+
+                try
+                {
+                    Configuration.Configuration config = BuildConfigurationFromUi();
+
+                    StartImport(config);
+                    panel1.Enabled = false;
+                    _abort = false;
+                    StatusLabel.Text = "Importing...";
+                }
+                catch (Exception ex)
+                {
+
+                    StatusLabel.Text = ex.Message;
+                }
             }
         }
 
             FrmAbout frm = new FrmAbout();
             frm.Show();
         }
+
+        private void BrowseSourceButton_Click(object sender, EventArgs e)
+        {
+            var bfd = new FolderBrowserDialog();
+            if(bfd.ShowDialog()== DialogResult.OK)
+            {
+                sourceTextBox.Text = bfd.SelectedPath;
+            }
+        }
     }
 }

File trunk/soddi/Loaders/SQLite/SQLiteInserter.cs

 
         private static void PrepareOutputDatabaseFile(string targetPath, string schema)
         {
+            Directory.CreateDirectory(targetPath);
             string path = GetOutputPath(targetPath, schema);
             if (File.Exists(path))
             {
                 File.Delete(path);
             }
-            else
-            {
-                Directory.CreateDirectory(Path.GetDirectoryName(targetPath));
-            }
+            
         }
 
         private void PrepareOutputDataFile(string targetPath, string schema)

File trunk/soddi/Program.cs

                 
                 BulkLoader inserter;
                 Console.WriteLine();
-                Console.Title = "StackOverflow Data Dump Import v.10 - So Fast ;-)";
+                Console.Title = "StackOverflow Data Dump Import v.10";
                 Console.WriteLine(Console.Title);
                 Console.WriteLine();
                 if(args.ToList().Find(a=>a.ToLowerInvariant()=="help" || a.ToLowerInvariant()=="?")!=null)

File trunk/soddi/Properties/AssemblyInfo.cs

 // set of attributes. Change these attribute values to modify the information
 // associated with an assembly.
 
-[assembly: AssemblyTitle("SODDI")]
+[assembly: AssemblyTitle("SODDI .10")]
 [assembly: AssemblyDescription("StackOverflow Data Dump Import - March 2010 Schema")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("Salient Solutions")]
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
 
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyVersion("0.1.0.0")]
+[assembly: AssemblyFileVersion("0.1.0.0")]

File trunk/soddi/README.txt

 
+StackOverflow Data Dump Import v.10
 
-StackOverflow Data Dump Import v.10
+  ClickOnce Installer: http://skysanders.net/tools/se/soddi/publish.htm
 
   (c) 2010 Sky Sanders
   licensed under MIT/GPL - see license.txt
-  http://skysanders.net/tools/se
-  http://skysanders.net/files/soddi.10.zip
-  http://bitbucket.org/bitpusher/soddi/
+  
+  info:http://skysanders.net/tools/se
+  msi :http://skysanders.net/files/soddi.10.msi
+  bin :http://skysanders.net/files/soddi.10.zip
+  src :http://bitbucket.org/bitpusher/soddi/
 
-Quickly and cleanly imports StackOverflow Data Dump XML files into MS Sql Server 2000/05/08,
-MySql Server 5.1 and SQLite3.
+
+SODDI is a .Net 3.5 sp1 executable written in C# that quickly and cleanly imports StackOverflow Data Dump XML files into 
+MS Sql Server 2000/05/08, MySql Server 5.1 and SQLite3. (MySql and SQLite drivers are included)
 
 SODDI can be run as a command line utility or, when invoked with no arguments or GUI argument, will
 present a Windows Form interface.
 
+Quick Start:
+The quickest route to your own copy of the StackOverflow databases is to use the ClickOnce installer,
+browse to the uncompressed data dump, accept the default SQLite provider selection and click 'Import'.
+
+
 USAGE:
 
 soddi.exe source:"" target:"" [batch:5000] [split] [indices] [fulltext] [[meta] [so] [su] [sf]] [gui]
                 SQLite - SO:StackOverflowData will load the data from the XXXXX SO directory into a new 
                 db3 file named StackOverflowData.db3 in the directory specified in the connection string.
                 
+                In GUI mode you may edit the schema item in the Sites list.
+                
 Options are not case sensitive.
 
 Example command lines.
 
 GUI Mode:
 	soddi 
-NOTE: user specified database/schema names are not supported in GUI mode but you can generate a command line that can be
-modified as shown below.
-
 
 SQLite - all sites:
 	soddi source:"F:\Export-030110" target:"data source=c:\temp;version=3;new=True;Provider=System.Data.SQLite"

File trunk/soddi/ReadMe.htm

     <style type="text/css">
         
         pre { font-size:12px; font-family: Consolas, 'Andale Mono WT', 'Andale Mono', 'Lucida Console', 'Lucida Sans Typewriter', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Liberation Mono', 'Nimbus Mono L', Monaco, 'Courier New', Courier, monospace; }
-        .style1 { font-size: xx-small; }
-    </style>
+        </style>
 </head>
 <body>
 <pre>
 
 
-<b>StackOverflow Data Dump Import v.10</b>
+<strong>StackOverflow Data Dump Import v.10</strong>
 
-<span class="style1">  (c) 2010 Sky Sanders</span>
-<span class="style1">  licensed under MIT/GPL - see license.txt</span>
-<span class="style1">  </span>
-<span class="style1">  </span><a href="http://skysanders.net/tools/se"><span 
-        class="style1">http://skysanders.net/tools/se</span></a>
-<span class="style1">  </span><a href="http://skysanders.net/files/soddi.10.zip"><span 
-        class="style1">http://skysanders.net/files/soddi.10.zip</span></a>
-<span class="style1">  </span><a href="http://bitbucket.org/bitpusher/soddi/"><span 
-        class="style1">http://bitbucket.org/bitpusher/soddi/</span></a>
+  ClickOnce Installer: <a href="http://skysanders.net/tools/se/soddi/publish.htm">http://skysanders.net/tools/se/soddi/publish.htm</a>
 
+  (c) 2010 Sky Sanders
+  licensed under MIT/GPL - see license.txt
+  
+  msi :<a href="http://skysanders.net/files/soddi.10.msi">http://skysanders.net/files/soddi.10.msi</a>
+  info:<a href="http://skysanders.net/tools/se">http://skysanders.net/tools/se</a>
+  bin :<a href="http://skysanders.net/files/soddi.10.zip">http://skysanders.net/files/soddi.10.zip</a>
+  src :<a href="http://bitbucket.org/bitpusher/soddi/">http://bitbucket.org/bitpusher/soddi/</a>
 
-Quickly and cleanly imports StackOverflow Data Dump XML files into MS Sql Server 2000/05/08,
-MySql Server 5.1 and SQLite3.
+
+SODDI is a .Net 3.5 sp1 executable written in C# that quickly and cleanly imports StackOverflow Data Dump XML files into 
+MS Sql Server 2000/05/08, MySql Server 5.1 and SQLite3. (MySql and SQLite drivers are included)
 
 SODDI can be run as a command line utility or, when invoked with no arguments or GUI argument, will
 present a Windows Form interface.
 
-USAGE:
+<strong>Quick Start:</strong>
+The quickest route to your own copy of the StackOverflow databases is to use the ClickOnce installer,
+browse to the uncompressed data dump, accept the default SQLite provider selection and click 'Import'.
+
+<strong>USAGE:</strong>
 
 soddi.exe source:"" target:"" [batch:5000] [split] [indices] [fulltext] [[meta] [so] [su] [sf]] [gui]
 
                 SQLite - SO:StackOverflowData will load the data from the XXXXX SO directory into a new 
                 db3 file named StackOverflowData.db3 in the directory specified in the connection string.
                 
+                In GUI mode you may edit the schema item in the Sites list.
+                
 Options are not case sensitive.
 
 Example command lines.
 
 GUI Mode:
 	soddi 
-NOTE: user specified database/schema names are not supported in GUI mode but you can generate a command line that can be
-modified as shown below.
-
 
 SQLite - all sites:
 	soddi source:"F:\Export-030110" target:"data source=c:\temp;version=3;new=True;Provider=System.Data.SQLite"

File trunk/soddi/SODDI.csproj.user

     </StartArguments>
   </PropertyGroup>
   <PropertyGroup>
-    <PublishUrlHistory>
-    </PublishUrlHistory>
-    <InstallUrlHistory>
-    </InstallUrlHistory>
-    <SupportUrlHistory>
-    </SupportUrlHistory>
+    <PublishUrlHistory>ftp://ftp.skysanders.net/tools/se/soddi/|ftp.skysanders.net/tools/se/soddi/|ftp.skysanders.net\tools\se\soddi\|publish\</PublishUrlHistory>
+    <InstallUrlHistory>http://skysanders.net/tools/se/soddi/</InstallUrlHistory>
+    <SupportUrlHistory>http://skysanders.net/tools/se</SupportUrlHistory>
     <UpdateUrlHistory>
     </UpdateUrlHistory>
     <BootstrapperUrlHistory>
     <ErrorReportUrlHistory>
     </ErrorReportUrlHistory>
     <FallbackCulture>en-US</FallbackCulture>
-    <VerifyUploadedFiles>false</VerifyUploadedFiles>
+    <VerifyUploadedFiles>true</VerifyUploadedFiles>
     <ProjectView>ProjectFiles</ProjectView>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <StartArguments>"F:\Export-030110" "Data Source=(local);Initial Catalog=SODataDump;Integrated Security=True" split</StartArguments>
   </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <StartArguments>"F:\Export-030110" "Data Source=(local);Initial Catalog=SODataDump;Integrated Security=True" split</StartArguments>
+  </PropertyGroup>
 </Project>

File trunk/soddi/soddi.csproj

     <AssemblyName>SODDI</AssemblyName>
     <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
     <FileAlignment>512</FileAlignment>
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
+    <IsWebBootstrapper>true</IsWebBootstrapper>
     <SccProjectName>&lt;Project Location In Database&gt;</SccProjectName>
     <SccLocalPath>&lt;Local Binding Root of Project&gt;</SccLocalPath>
     <SccAuxPath>&lt;Source Control Database&gt;</SccAuxPath>
     <SccProvider>Mercurial Source Control Package</SccProvider>
+    <TargetFrameworkSubset>Client</TargetFrameworkSubset>
+    <ManifestCertificateThumbprint>AF8143E149C71C323C353B1E4F6F17F06E7F043C</ManifestCertificateThumbprint>
+    <ManifestKeyFile>soddi_TemporaryKey.pfx</ManifestKeyFile>
+    <GenerateManifests>true</GenerateManifests>
+    <SignManifests>true</SignManifests>
+    <PublishUrl>ftp://ftp.skysanders.net/tools/se/soddi/</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Web</InstallFrom>
+    <UpdateEnabled>true</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>true</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <InstallUrl>http://skysanders.net/tools/se/soddi/</InstallUrl>
+    <SupportUrl>http://skysanders.net/tools/se</SupportUrl>
+    <ProductName>SODDI - StackOverflow Data Dump Import</ProductName>
+    <PublisherName>Salient Solutions</PublisherName>
+    <SuiteName>StackExchange Tools</SuiteName>
+    <CreateWebPageOnPublish>true</CreateWebPageOnPublish>
+    <WebPage>publish.htm</WebPage>
+    <ApplicationRevision>7</ApplicationRevision>
+    <ApplicationVersion>0.1.0.%2a</ApplicationVersion>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <CreateDesktopShortcut>true</CreateDesktopShortcut>
+    <PublishWizardCompleted>true</PublishWizardCompleted>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
     <DebugType>full</DebugType>
     <Optimize>false</Optimize>
     <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>TRACE;DEBUG;NOTHREADs</DefineConstants>
+    <DefineConstants>TRACE;DEBUG</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <UseVSHostingProcess>true</UseVSHostingProcess>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x86\Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
+    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
+    <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="MySql.Data, Version=6.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\lib\MySql.Data.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="System" />
       <RequiredTargetFramework>3.5</RequiredTargetFramework>
     </Reference>
     <Reference Include="System.Data.SQLite, Version=1.0.65.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>..\lib\System.Data.SQLite.dll</HintPath>
       <Private>True</Private>
     </Reference>
     <Reference Include="System.Drawing" />
     <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.XML" />
     <Reference Include="System.Xml.Linq">
       <RequiredTargetFramework>3.5</RequiredTargetFramework>
     </Reference>
-    <Reference Include="System.Data.DataSetExtensions">
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Gui\FrmAbout.cs">
     </EmbeddedResource>
   </ItemGroup>
   <ItemGroup>
-    <Content Include="ReadMe.htm" />
+    <Content Include="ReadMe.htm">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
     <Content Include="GPL.TXT">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
       <Generator>SettingsSingleFileGenerator</Generator>
       <LastGenOutput>Settings.Designer.cs</LastGenOutput>
     </None>
+    <None Include="soddi_TemporaryKey.pfx" />
   </ItemGroup>
   <ItemGroup>
     <Folder Include="Properties\DataSources\" />

File trunk/soddi/soddi_TemporaryKey.pfx

Binary file added.