diff --git a/PdfScribe.sln b/PdfScribe.sln
index 553b26b..2034de9 100644
--- a/PdfScribe.sln
+++ b/PdfScribe.sln
@@ -1,33 +1,41 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C# Express 2010
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PdfScribe", "PdfScribe\PdfScribe.csproj", "{1EAD8E9A-A123-4C37-B31E-AEE1354DF003}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PdfScribeUnitTests", "PdfScribeUnitTests\PdfScribeUnitTests.csproj", "{D387573C-D122-461C-B525-1545DBDB4FBA}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PdfScribeCore", "PdfScribeCore\PdfScribeCore.csproj", "{1EAD8E9A-A123-4C37-B31E-AEE1354DF003}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Debug|x64.ActiveCfg = Debug|Any CPU
- {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Debug|x64.Build.0 = Debug|Any CPU
- {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Debug|x86.ActiveCfg = Debug|x86
- {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Debug|x86.Build.0 = Debug|x86
- {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Release|x64.ActiveCfg = Release|x64
- {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Release|x64.Build.0 = Release|x64
- {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Release|x86.ActiveCfg = Release|x86
- {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Release|x86.Build.0 = Release|x86
+ {D387573C-D122-461C-B525-1545DBDB4FBA}.Debug|Any CPU.ActiveCfg = Debug|x64
{D387573C-D122-461C-B525-1545DBDB4FBA}.Debug|x64.ActiveCfg = Debug|x86
{D387573C-D122-461C-B525-1545DBDB4FBA}.Debug|x64.Build.0 = Debug|x86
{D387573C-D122-461C-B525-1545DBDB4FBA}.Debug|x86.ActiveCfg = Debug|x86
{D387573C-D122-461C-B525-1545DBDB4FBA}.Debug|x86.Build.0 = Debug|x86
+ {D387573C-D122-461C-B525-1545DBDB4FBA}.Release|Any CPU.ActiveCfg = Release|x64
{D387573C-D122-461C-B525-1545DBDB4FBA}.Release|x64.ActiveCfg = Release|x86
{D387573C-D122-461C-B525-1545DBDB4FBA}.Release|x86.ActiveCfg = Release|x86
{D387573C-D122-461C-B525-1545DBDB4FBA}.Release|x86.Build.0 = Release|x86
+ {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Debug|x64.ActiveCfg = Debug|x64
+ {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Debug|x64.Build.0 = Debug|x64
+ {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Debug|x86.ActiveCfg = Debug|x86
+ {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Debug|x86.Build.0 = Debug|x86
+ {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Release|x64.ActiveCfg = Release|x64
+ {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Release|x64.Build.0 = Release|x64
+ {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Release|x86.ActiveCfg = Release|x86
+ {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/PdfScribe/NativeMethods.cs b/PdfScribeCore/NativeMethods.cs
similarity index 99%
rename from PdfScribe/NativeMethods.cs
rename to PdfScribeCore/NativeMethods.cs
index 40c5154..1df77f6 100644
--- a/PdfScribe/NativeMethods.cs
+++ b/PdfScribeCore/NativeMethods.cs
@@ -5,7 +5,7 @@ using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
-namespace PdfScribe
+namespace PdfScribeCore
{
diff --git a/PdfScribe/PdfScribe.csproj b/PdfScribeCore/PdfScribeCore.csproj
similarity index 97%
rename from PdfScribe/PdfScribe.csproj
rename to PdfScribeCore/PdfScribeCore.csproj
index 0483a1d..26edd5f 100644
--- a/PdfScribe/PdfScribe.csproj
+++ b/PdfScribeCore/PdfScribeCore.csproj
@@ -8,8 +8,8 @@
{1EAD8E9A-A123-4C37-B31E-AEE1354DF003}
Library
Properties
- PdfScribe
- PdfScribe
+ PdfScribeCore
+ PdfScribeCore
v4.0
Client
512
diff --git a/PdfScribe/PdfScribeInstaller.cs b/PdfScribeCore/PdfScribeInstaller.cs
similarity index 89%
rename from PdfScribe/PdfScribeInstaller.cs
rename to PdfScribeCore/PdfScribeInstaller.cs
index 865ce19..7e65c9b 100644
--- a/PdfScribe/PdfScribeInstaller.cs
+++ b/PdfScribeCore/PdfScribeInstaller.cs
@@ -5,8 +5,11 @@ using System.IO;
using System.Runtime.InteropServices;
using System.Linq;
using System.Text;
+using System.Security;
-namespace PdfScribe
+using Microsoft.Win32;
+
+namespace PdfScribeCore
{
public class PdfScribeInstaller
{
@@ -328,7 +331,8 @@ namespace PdfScribe
{
if (InstallPrinterDriver(driverDirectory, dependentFilesToCopy))
{
- printerInstalled = AddPdfScribePrinter();
+ if (AddPdfScribePrinter())
+ printerInstalled = ConfigurePdfScribePort();
}
}
}
@@ -459,12 +463,12 @@ namespace PdfScribe
public bool RemovePDFScribePrinterDriver()
{
- bool printerRemoved = NativeMethods.DeletePrinterDriverEx(null, ENVIRONMENT_64, DRIVERNAME, DPD_DELETE_UNUSED_FILES, 3);
- if (!printerRemoved)
+ bool driverRemoved = NativeMethods.DeletePrinterDriverEx(null, ENVIRONMENT_64, DRIVERNAME, DPD_DELETE_UNUSED_FILES, 3);
+ if (!driverRemoved)
{
throw new Win32Exception(Marshal.GetLastWin32Error(), "Could not remove PDF Scribe printer driver");
}
- return printerRemoved;
+ return driverRemoved;
}
@@ -526,5 +530,48 @@ namespace PdfScribe
#endregion
+ #region Configuration and Registry changes
+
+#if DEBUG
+ public bool ConfigurePdfScribePort_Test()
+ {
+ return ConfigurePdfScribePort();
+ }
+#endif
+
+ private bool ConfigurePdfScribePort()
+ {
+ bool registryChangesMade = false;
+ // Add all the registry info
+ // for the port and monitor
+ RegistryKey portConfiguration = Registry.LocalMachine.CreateSubKey("SYSTEM\\CurrentControlSet\\Control\\Print\\Monitors\\" +
+ PORTMONITOR +
+ "\\Ports\\" + PORTNAME);
+ try
+ {
+ portConfiguration.SetValue("Description", "PDF Scribe", RegistryValueKind.String);
+ portConfiguration.SetValue("Command", "", RegistryValueKind.String);
+ portConfiguration.SetValue("Arguments", "", RegistryValueKind.String);
+ portConfiguration.SetValue("Printer", "", RegistryValueKind.String);
+ portConfiguration.SetValue("Output", 0, RegistryValueKind.DWord);
+ portConfiguration.SetValue("ShowWindow", 0, RegistryValueKind.DWord);
+ portConfiguration.SetValue("RunUser", 1, RegistryValueKind.DWord);
+ portConfiguration.SetValue("Delay", 300, RegistryValueKind.DWord);
+ portConfiguration.SetValue("LogFileUse", 0, RegistryValueKind.DWord);
+ portConfiguration.SetValue("LogFileName", "", RegistryValueKind.String);
+ portConfiguration.SetValue("LogFileDebug", 0, RegistryValueKind.DWord);
+ portConfiguration.SetValue("PrintError", 0, RegistryValueKind.DWord);
+ registryChangesMade = true;
+ }
+
+ catch (UnauthorizedAccessException)
+ { }
+ catch (SecurityException)
+ { }
+
+ return registryChangesMade;
+ }
+ #endregion
+
}
}
diff --git a/PdfScribe/Program.cs b/PdfScribeCore/Program.cs
similarity index 100%
rename from PdfScribe/Program.cs
rename to PdfScribeCore/Program.cs
diff --git a/PdfScribe/Properties/AssemblyInfo.cs b/PdfScribeCore/Properties/AssemblyInfo.cs
similarity index 100%
rename from PdfScribe/Properties/AssemblyInfo.cs
rename to PdfScribeCore/Properties/AssemblyInfo.cs
diff --git a/PdfScribe/app.manifest b/PdfScribeCore/app.manifest
similarity index 100%
rename from PdfScribe/app.manifest
rename to PdfScribeCore/app.manifest
diff --git a/PdfScribeUnitTests/PdfScribeUnitTests.csproj b/PdfScribeUnitTests/PdfScribeUnitTests.csproj
index 0cb4a3c..b6db4b2 100644
--- a/PdfScribeUnitTests/PdfScribeUnitTests.csproj
+++ b/PdfScribeUnitTests/PdfScribeUnitTests.csproj
@@ -103,12 +103,6 @@
-
-
- {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}
- PdfScribe
-
-
@@ -135,6 +129,12 @@
true
+
+
+ {1EAD8E9A-A123-4C37-B31E-AEE1354DF003}
+ PdfScribeCore
+
+