diff --git a/Lib/WixNetFxExtension.dll b/Lib/WixNetFxExtension.dll new file mode 100644 index 0000000..c82d7ad Binary files /dev/null and b/Lib/WixNetFxExtension.dll differ diff --git a/Lib/WixUIExtension.dll b/Lib/WixUIExtension.dll new file mode 100644 index 0000000..3ef5de5 Binary files /dev/null and b/Lib/WixUIExtension.dll differ diff --git a/PdfScribe/PdfScribe.csproj b/PdfScribe/PdfScribe.csproj index 0a5ce65..85a278e 100644 --- a/PdfScribe/PdfScribe.csproj +++ b/PdfScribe/PdfScribe.csproj @@ -145,6 +145,12 @@ + + copy "$(TargetPath)" "$(SolutionDir)PdfScribeInstall\PrimaryOutputHarvest\$(TargetFileName)" +copy "$(TargetPath).config" "$(SolutionDir)PdfScribeInstall\PrimaryOutputHarvest\$(TargetFileName).config" +copy "$(TargetDir)$(TargetName).pdb" "$(SolutionDir)PdfScribeInstall\PrimaryOutputHarvest\$(TargetName).pdb" + + + \ No newline at end of file diff --git a/PdfScribeInstall/Product.wxs b/PdfScribeInstall/Product.wxs new file mode 100644 index 0000000..785f253 --- /dev/null +++ b/PdfScribeInstall/Product.wxs @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NOT Installed + NOT Installed + Installed AND NOT UPGRADINGPRODUCTCODE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/PdfScribeInstallCustomAction/CustomAction.cs b/PdfScribeInstallCustomAction/CustomAction.cs index e5a8fda..3974421 100644 --- a/PdfScribeInstallCustomAction/CustomAction.cs +++ b/PdfScribeInstallCustomAction/CustomAction.cs @@ -1,5 +1,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics; +using System.IO; using System.Linq; using System.Text; using Microsoft.Deployment.WindowsInstaller; @@ -15,12 +17,15 @@ namespace PdfScribeInstallCustomAction public class CustomActions { + static readonly String traceSourceName = "PdfScribeInstaller"; + [CustomAction] public static ActionResult CheckIfPrinterNotInstalled(Session session) { ActionResult resultCode; - - PdfScribeInstaller installer = new PdfScribeInstaller(); + TextWriterTraceListener installTraceListener = new TextWriterTraceListener("C:\\testout.txt"); + PdfScribeInstaller installer = new PdfScribeInstaller(traceSourceName); + installer.AddTraceListener(installTraceListener); if (installer.IsPdfScribePrinterInstalled()) resultCode = ActionResult.Success; else @@ -39,7 +44,13 @@ namespace PdfScribeInstallCustomAction String outputCommand = session.CustomActionData["OutputCommand"]; String outputCommandArguments = session.CustomActionData["OutputCommandArguments"]; - PdfScribeInstaller installer = new PdfScribeInstaller(); + TextWriterTraceListener installTraceListener = new TextWriterTraceListener("C:\\testout.txt"); + installTraceListener.TraceOutputOptions = TraceOptions.Timestamp; + + PdfScribeInstaller installer = new PdfScribeInstaller(traceSourceName); + + installer.AddTraceListener(installTraceListener); + if (installer.InstallPdfScribePrinter(driverSourceDirectory, outputCommand, @@ -48,6 +59,9 @@ namespace PdfScribeInstallCustomAction else printerInstalled = ActionResult.Failure; + installTraceListener.Flush(); + installTraceListener.Close(); + return printerInstalled; } @@ -57,7 +71,7 @@ namespace PdfScribeInstallCustomAction { ActionResult printerUninstalled; - PdfScribeInstaller installer = new PdfScribeInstaller(); + PdfScribeInstaller installer = new PdfScribeInstaller(traceSourceName); if (installer.UninstallPdfScribePrinter()) printerUninstalled = ActionResult.Success; else diff --git a/PdfScribeInstallCustomAction/PdfScribeInstallCustomAction.csproj b/PdfScribeInstallCustomAction/PdfScribeInstallCustomAction.csproj index 59e35db..92ce26b 100644 --- a/PdfScribeInstallCustomAction/PdfScribeInstallCustomAction.csproj +++ b/PdfScribeInstallCustomAction/PdfScribeInstallCustomAction.csproj @@ -92,4 +92,9 @@ + + copy "$(TargetPath)" "$(SolutionDir)PdfScribeInstall\PrimaryOutputHarvest\$(TargetFileName)" +copy "$(TargetDir)$(TargetName).CA.dll" "$(SolutionDir)PdfScribeInstall\PrimaryOutputHarvest\$(TargetName).CA.dll" +copy "$(TargetDir)$(TargetName).pdb" "$(SolutionDir)PdfScribeInstall\PrimaryOutputHarvest\$(TargetName).pdb" + \ No newline at end of file diff --git a/PdfScribeUnitTests/UnitTests.cs b/PdfScribeUnitTests/UnitTests.cs index 6a0e737..3ed0932 100644 --- a/PdfScribeUnitTests/UnitTests.cs +++ b/PdfScribeUnitTests/UnitTests.cs @@ -17,6 +17,7 @@ namespace PdfScribeUnitTests public UnitTests() { } #endregion +#if DEBUG #region PdfScribeCore Tests //[Test] @@ -36,11 +37,12 @@ namespace PdfScribeUnitTests //[Test] public void Test_AddPdfScribePort() { + var scribeInstaller = new PdfScribeInstaller(); scribeInstaller.AddPdfScribePort_Test(); } - [Test] + //[Test] public void Test_IsPrinterDriverInstalled() { var scribeInstaller = new PdfScribeInstaller(); @@ -53,7 +55,7 @@ namespace PdfScribeUnitTests scribeInstaller.InstallPdfScribePrinter(@"C:\Code\PdfScribe\Lib\", String.Empty, String.Empty); } - //[Test] + [Test] public void Test_UninstallPdfScribePrinter() { var scribeInstaller = new PdfScribeInstaller(); @@ -83,5 +85,7 @@ namespace PdfScribeUnitTests { var errorDialog = new PdfScribe.ErrorDialogPresenter("Error Caption", "Error Instructions", "Message text"); } + +#endif } }