473,385 Members | 1,934 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

Safe Printing

I am trying to find the definition of "Safe Printing" and cannot find out
exactly what this entitles. The reason is that I am trying to print
contents from a single textbox to no avail using the PrintDialog control
under a security setting with only SafePrinting allowed.

I have attached a sample project that I am using to try to accomplish this.
The print dialog appears, but when I press the Print button, I get an
exception (at the end of this message). Any ideas how I can make this work?

Thanks,
Jody
System.Security.SecurityException: Request for the permission of type
System.Drawing.Printing.PrintingPermission, System.Drawing,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a failed.
at System.Security.CodeAccessSecurityEngine.CheckHelp er(PermissionSet
grantedSet, PermissionSet deniedSet, CodeAccessPermission demand,
PermissionToken permToken)
at System.Security.CodeAccessSecurityEngine.Check(Per missionToken
permToken, CodeAccessPermission demand, StackCrawlMark& stackMark, Int32
checkFrames, Int32 unrestrictedOverride)
at System.Security.CodeAccessSecurityEngine.Check(Cod eAccessPermission
cap, StackCrawlMark& stackMark)
at System.Security.CodeAccessPermission.Demand()
at System.Drawing.Printing.PrinterSettings.SetHdevmod e(IntPtr hdevmode)
at System.Windows.Forms.PrintDialog.UpdatePrinterSett ings(PRINTDLG data,
PrinterSettings settings, PageSettings pageSettings)
at System.Windows.Forms.PrintDialog.RunDialog(IntPtr hwndOwner)
at System.Windows.Forms.CommonDialog.ShowDialog()
at PrintTest.Form1.Button1_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage (Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(M essage& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
RegexAssembly4_0
Assembly Version: 0.0.0.0
Win32 Version: n/a
CodeBase:
----------------------------------------
IEExecRemote
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/ieexecremote/1.0.5000.0__b03f5f7f11d50a3a/ieexecremote.dll
----------------------------------------
PrintTest
Assembly Version: 1.0.1468.23656
Win32 Version: n/a
CodeBase: http://192.168.0.33/VistaNETtest/Testing/PrintTest.EXE
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System.Xml
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 7.0.5000.0
Win32 Version: 7.10.3052.4
CodeBase:
file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.


Jul 21 '05 #1
9 4057
Jody,

I can not access your sample code. Could you please post a link to
or email me your code.

Ken
----------------
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:uz**************@TK2MSFTNGP09.phx.gbl...
I am trying to find the definition of "Safe Printing" and cannot find out
exactly what this entitles. The reason is that I am trying to print
contents from a single textbox to no avail using the PrintDialog control
under a security setting with only SafePrinting allowed.

I have attached a sample project that I am using to try to accomplish
this.
The print dialog appears, but when I press the Print button, I get an
exception (at the end of this message). Any ideas how I can make this
work?

Thanks,
Jody
System.Security.SecurityException: Request for the permission of type
System.Drawing.Printing.PrintingPermission, System.Drawing,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
failed.
at System.Security.CodeAccessSecurityEngine.CheckHelp er(PermissionSet
grantedSet, PermissionSet deniedSet, CodeAccessPermission demand,
PermissionToken permToken)
at System.Security.CodeAccessSecurityEngine.Check(Per missionToken
permToken, CodeAccessPermission demand, StackCrawlMark& stackMark, Int32
checkFrames, Int32 unrestrictedOverride)
at System.Security.CodeAccessSecurityEngine.Check(Cod eAccessPermission
cap, StackCrawlMark& stackMark)
at System.Security.CodeAccessPermission.Demand()
at System.Drawing.Printing.PrinterSettings.SetHdevmod e(IntPtr hdevmode)
at System.Windows.Forms.PrintDialog.UpdatePrinterSett ings(PRINTDLG data,
PrinterSettings settings, PageSettings pageSettings)
at System.Windows.Forms.PrintDialog.RunDialog(IntPtr hwndOwner)
at System.Windows.Forms.CommonDialog.ShowDialog()
at PrintTest.Form1.Button1_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage (Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(M essage& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
RegexAssembly4_0
Assembly Version: 0.0.0.0
Win32 Version: n/a
CodeBase:
----------------------------------------
IEExecRemote
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/ieexecremote/1.0.5000.0__b03f5f7f11d50a3a/ieexecremote.dll
----------------------------------------
PrintTest
Assembly Version: 1.0.1468.23656
Win32 Version: n/a
CodeBase: http://192.168.0.33/VistaNETtest/Testing/PrintTest.EXE
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System.Xml
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 7.0.5000.0
Win32 Version: 7.10.3052.4
CodeBase:
file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

Jul 21 '05 #2
The code in question is as follows:

With dlgPrintSettings

If Not (.ShowDialog() = DialogResult.Cancel) Then

Try

TextBox1.AppendText("Printing ..." & ControlChars.CrLf)

..Document.Print()

TextBox1.AppendText("Print Successful")

Catch ex As Exception

Debug.WriteLine(ex.ToString)

'MsgBox(ex.ToString)

End Try

End If

End With

The security exception is thrown within the following line:

If Not (.ShowDialog() = DialogResult.Cancel) Then

after you click the PRINT button. The line below it never gets called:

TextBox1.AppendText("Printing ..." & ControlChars.CrLf)

Thanks,
Jody

"Ken Tucker [MVP]" <vb***@bellsouth.net> wrote in message
news:ur**************@TK2MSFTNGP09.phx.gbl...
Jody,

I can not access your sample code. Could you please post a link to or email me your code.

Ken
----------------
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:uz**************@TK2MSFTNGP09.phx.gbl...
I am trying to find the definition of "Safe Printing" and cannot find out
exactly what this entitles. The reason is that I am trying to print
contents from a single textbox to no avail using the PrintDialog control
under a security setting with only SafePrinting allowed.

I have attached a sample project that I am using to try to accomplish
this.
The print dialog appears, but when I press the Print button, I get an
exception (at the end of this message). Any ideas how I can make this
work?

Thanks,
Jody
System.Security.SecurityException: Request for the permission of type
System.Drawing.Printing.PrintingPermission, System.Drawing,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
failed.
at System.Security.CodeAccessSecurityEngine.CheckHelp er(PermissionSet
grantedSet, PermissionSet deniedSet, CodeAccessPermission demand,
PermissionToken permToken)
at System.Security.CodeAccessSecurityEngine.Check(Per missionToken
permToken, CodeAccessPermission demand, StackCrawlMark& stackMark, Int32
checkFrames, Int32 unrestrictedOverride)
at System.Security.CodeAccessSecurityEngine.Check(Cod eAccessPermission
cap, StackCrawlMark& stackMark)
at System.Security.CodeAccessPermission.Demand()
at System.Drawing.Printing.PrinterSettings.SetHdevmod e(IntPtr hdevmode) at System.Windows.Forms.PrintDialog.UpdatePrinterSett ings(PRINTDLG data, PrinterSettings settings, PageSettings pageSettings)
at System.Windows.Forms.PrintDialog.RunDialog(IntPtr hwndOwner)
at System.Windows.Forms.CommonDialog.ShowDialog()
at PrintTest.Form1.Button1_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage (Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(M essage& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll ----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll ----------------------------------------
RegexAssembly4_0
Assembly Version: 0.0.0.0
Win32 Version: n/a
CodeBase:
----------------------------------------
IEExecRemote
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/ieexecremote/1.0.5000.0__b03f5f7f11d50a3a/ieexecremote.dll ----------------------------------------
PrintTest
Assembly Version: 1.0.1468.23656
Win32 Version: n/a
CodeBase: http://192.168.0.33/VistaNETtest/Testing/PrintTest.EXE
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll ----------------------------------------
System.Xml
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll ----------------------------------------
Microsoft.VisualBasic
Assembly Version: 7.0.5000.0
Win32 Version: 7.10.3052.4
CodeBase:
file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll ----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.


Jul 21 '05 #3
Hi,

Try this code. Do you get any errors ?

'Check to see if we have printing rights

Dim Allperm As Security.IPermission = New
Drawing.Printing.PrintingPermission(Drawing.Printi ng.PrintingPermissionLevel.AllPrinting)

Dim Defaultperm As Security.IPermission = New
Drawing.Printing.PrintingPermission(Drawing.Printi ng.PrintingPermissionLevel.DefaultPrinting)

Dim Safeperm As Security.IPermission = New
Drawing.Printing.PrintingPermission(Drawing.Printi ng.PrintingPermissionLevel.SafePrinting)

Try

Allperm.Demand()

Defaultperm.Demand()

Safeperm.Demand()

Catch ex As Exception

MessageBox.Show(ex.ToString)

End Try

Ken
----------------------
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
The code in question is as follows:

With dlgPrintSettings

If Not (.ShowDialog() = DialogResult.Cancel) Then

Try

TextBox1.AppendText("Printing ..." & ControlChars.CrLf)

.Document.Print()

TextBox1.AppendText("Print Successful")

Catch ex As Exception

Debug.WriteLine(ex.ToString)

'MsgBox(ex.ToString)

End Try

End If

End With

The security exception is thrown within the following line:

If Not (.ShowDialog() = DialogResult.Cancel) Then

after you click the PRINT button. The line below it never gets called:

TextBox1.AppendText("Printing ..." & ControlChars.CrLf)

Thanks,
Jody

"Ken Tucker [MVP]" <vb***@bellsouth.net> wrote in message
news:ur**************@TK2MSFTNGP09.phx.gbl...
Jody,

I can not access your sample code. Could you please post a link

to
or email me your code.

Ken
----------------
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:uz**************@TK2MSFTNGP09.phx.gbl...
>I am trying to find the definition of "Safe Printing" and cannot find
>out
> exactly what this entitles. The reason is that I am trying to print
> contents from a single textbox to no avail using the PrintDialog
> control
> under a security setting with only SafePrinting allowed.
>
> I have attached a sample project that I am using to try to accomplish
> this.
> The print dialog appears, but when I press the Print button, I get an
> exception (at the end of this message). Any ideas how I can make this
> work?
>
> Thanks,
> Jody
>
>
> System.Security.SecurityException: Request for the permission of type
> System.Drawing.Printing.PrintingPermission, System.Drawing,
> Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
> failed.
> at System.Security.CodeAccessSecurityEngine.CheckHelp er(PermissionSet
> grantedSet, PermissionSet deniedSet, CodeAccessPermission demand,
> PermissionToken permToken)
> at System.Security.CodeAccessSecurityEngine.Check(Per missionToken
> permToken, CodeAccessPermission demand, StackCrawlMark& stackMark,
> Int32
> checkFrames, Int32 unrestrictedOverride)
> at
> System.Security.CodeAccessSecurityEngine.Check(Cod eAccessPermission
> cap, StackCrawlMark& stackMark)
> at System.Security.CodeAccessPermission.Demand()
> at System.Drawing.Printing.PrinterSettings.SetHdevmod e(IntPtr hdevmode) > at System.Windows.Forms.PrintDialog.UpdatePrinterSett ings(PRINTDLG data, > PrinterSettings settings, PageSettings pageSettings)
> at System.Windows.Forms.PrintDialog.RunDialog(IntPtr hwndOwner)
> at System.Windows.Forms.CommonDialog.ShowDialog()
> at PrintTest.Form1.Button1_Click(Object sender, EventArgs e)
> at System.Windows.Forms.Control.OnClick(EventArgs e)
> at System.Windows.Forms.Button.OnClick(EventArgs e)
> at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
> at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
> button, Int32 clicks)
> at System.Windows.Forms.Control.WndProc(Message& m)
> at System.Windows.Forms.ButtonBase.WndProc(Message& m)
> at System.Windows.Forms.Button.WndProc(Message& m)
> at System.Windows.Forms.ControlNativeWindow.OnMessage (Message& m)
> at System.Windows.Forms.ControlNativeWindow.WndProc(M essage& m)
> at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
> IntPtr wparam, IntPtr lparam)
>
>
> ************** Loaded Assemblies **************
> mscorlib
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
> file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
> ----------------------------------------
> System.Drawing
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
> file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll > ----------------------------------------
> System
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
> file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll > ----------------------------------------
> RegexAssembly4_0
> Assembly Version: 0.0.0.0
> Win32 Version: n/a
> CodeBase:
> ----------------------------------------
> IEExecRemote
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
> file:///c:/windows/assembly/gac/ieexecremote/1.0.5000.0__b03f5f7f11d50a3a/ieexecremote.dll > ----------------------------------------
> PrintTest
> Assembly Version: 1.0.1468.23656
> Win32 Version: n/a
> CodeBase: http://192.168.0.33/VistaNETtest/Testing/PrintTest.EXE
> ----------------------------------------
> System.Windows.Forms
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
> file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll > ----------------------------------------
> System.Xml
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
> file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll > ----------------------------------------
> Microsoft.VisualBasic
> Assembly Version: 7.0.5000.0
> Win32 Version: 7.10.3052.4
> CodeBase:
> file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll > ----------------------------------------
>
> ************** JIT Debugging **************
> To enable just in time (JIT) debugging, the config file for this
> application or machine (machine.config) must have the
> jitDebugging value set in the system.windows.forms section.
> The application must also be compiled with debugging
> enabled.
>
>
>



Jul 21 '05 #4
Here's the permission requirements I get when I check your application:

<IPermission class="System.Security.Permissions.EnvironmentPerm ission,
mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
<IPermission class="System.Security.Permissions.FileIOPermissio n, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
<IPermission class="System.Security.Permissions.SecurityPermiss ion,
mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
version="1"
Flags="UnmanagedCode, ControlEvidence"/>
<IPermission class="System.Security.Permissions.UIPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
<IPermission class="System.Net.WebPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>

================================================== ==========================
====
Shel
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
The code in question is as follows:

With dlgPrintSettings

If Not (.ShowDialog() = DialogResult.Cancel) Then

Try

TextBox1.AppendText("Printing ..." & ControlChars.CrLf)

.Document.Print()

TextBox1.AppendText("Print Successful")

Catch ex As Exception

Debug.WriteLine(ex.ToString)

'MsgBox(ex.ToString)

End Try

End If

End With

The security exception is thrown within the following line:

If Not (.ShowDialog() = DialogResult.Cancel) Then

after you click the PRINT button. The line below it never gets called:

TextBox1.AppendText("Printing ..." & ControlChars.CrLf)

Thanks,
Jody

"Ken Tucker [MVP]" <vb***@bellsouth.net> wrote in message
news:ur**************@TK2MSFTNGP09.phx.gbl...
Jody,

I can not access your sample code. Could you please post a link

to
or email me your code.

Ken
----------------
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:uz**************@TK2MSFTNGP09.phx.gbl...
I am trying to find the definition of "Safe Printing" and cannot find out exactly what this entitles. The reason is that I am trying to print
contents from a single textbox to no avail using the PrintDialog control under a security setting with only SafePrinting allowed.

I have attached a sample project that I am using to try to accomplish
this.
The print dialog appears, but when I press the Print button, I get an
exception (at the end of this message). Any ideas how I can make this
work?

Thanks,
Jody
System.Security.SecurityException: Request for the permission of type
System.Drawing.Printing.PrintingPermission, System.Drawing,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
failed.
at System.Security.CodeAccessSecurityEngine.CheckHelp er(PermissionSet grantedSet, PermissionSet deniedSet, CodeAccessPermission demand,
PermissionToken permToken)
at System.Security.CodeAccessSecurityEngine.Check(Per missionToken
permToken, CodeAccessPermission demand, StackCrawlMark& stackMark, Int32 checkFrames, Int32 unrestrictedOverride)
at System.Security.CodeAccessSecurityEngine.Check(Cod eAccessPermission cap, StackCrawlMark& stackMark)
at System.Security.CodeAccessPermission.Demand()
at System.Drawing.Printing.PrinterSettings.SetHdevmod e(IntPtr hdevmode) at System.Windows.Forms.PrintDialog.UpdatePrinterSett ings(PRINTDLG data, PrinterSettings settings, PageSettings pageSettings)
at System.Windows.Forms.PrintDialog.RunDialog(IntPtr hwndOwner)
at System.Windows.Forms.CommonDialog.ShowDialog()
at PrintTest.Form1.Button1_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage (Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(M essage& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:
file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:

file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:

file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
RegexAssembly4_0
Assembly Version: 0.0.0.0
Win32 Version: n/a
CodeBase:
----------------------------------------
IEExecRemote
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:

file:///c:/windows/assembly/gac/ieexecremote/1.0.5000.0__b03f5f7f11d50a3a/ieexecremote.dll
----------------------------------------
PrintTest
Assembly Version: 1.0.1468.23656
Win32 Version: n/a
CodeBase: http://192.168.0.33/VistaNETtest/Testing/PrintTest.EXE
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:

file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System.Xml
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase:

file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 7.0.5000.0
Win32 Version: 7.10.3052.4
CodeBase:

file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
----------------------------------------

************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.



Jul 21 '05 #5
Let me admend this, you'll also need safe printing. Just to display the
dialog box you're going to need unrestricted UIPermission, then to perform
the printing you'll need the safe printing permission. Was able to run your
app to completion with safe printing permission. You may not need all the
other permissions I came up with, you might try experimenting.

Shel

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"Shel Blauman [MSFT]" <sh******@online.microsoft.com> wrote in message
news:e2******************@TK2MSFTNGP10.phx.gbl...
Here's the permission requirements I get when I check your application:

<IPermission class="System.Security.Permissions.EnvironmentPerm ission,
mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
<IPermission class="System.Security.Permissions.FileIOPermissio n, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
<IPermission class="System.Security.Permissions.SecurityPermiss ion,
mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
version="1"
Flags="UnmanagedCode, ControlEvidence"/>
<IPermission class="System.Security.Permissions.UIPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
<IPermission class="System.Net.WebPermission, System, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>

================================================== ========================== ====
Shel
--
This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
The code in question is as follows:

With dlgPrintSettings

If Not (.ShowDialog() = DialogResult.Cancel) Then

Try

TextBox1.AppendText("Printing ..." & ControlChars.CrLf)

.Document.Print()

TextBox1.AppendText("Print Successful")

Catch ex As Exception

Debug.WriteLine(ex.ToString)

'MsgBox(ex.ToString)

End Try

End If

End With

The security exception is thrown within the following line:

If Not (.ShowDialog() = DialogResult.Cancel) Then

after you click the PRINT button. The line below it never gets called:

TextBox1.AppendText("Printing ..." & ControlChars.CrLf)

Thanks,
Jody

"Ken Tucker [MVP]" <vb***@bellsouth.net> wrote in message
news:ur**************@TK2MSFTNGP09.phx.gbl...
Jody,

I can not access your sample code. Could you please post a link
to
or email me your code.

Ken
----------------
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:uz**************@TK2MSFTNGP09.phx.gbl...
>I am trying to find the definition of "Safe Printing" and cannot find out > exactly what this entitles. The reason is that I am trying to print
> contents from a single textbox to no avail using the PrintDialog control > under a security setting with only SafePrinting allowed.
>
> I have attached a sample project that I am using to try to
accomplish > this.
> The print dialog appears, but when I press the Print button, I get an > exception (at the end of this message). Any ideas how I can make this > work?
>
> Thanks,
> Jody
>
>
> System.Security.SecurityException: Request for the permission of type > System.Drawing.Printing.PrintingPermission, System.Drawing,
> Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
> failed.
> at

System.Security.CodeAccessSecurityEngine.CheckHelp er(PermissionSet > grantedSet, PermissionSet deniedSet, CodeAccessPermission demand,
> PermissionToken permToken)
> at System.Security.CodeAccessSecurityEngine.Check(Per missionToken
> permToken, CodeAccessPermission demand, StackCrawlMark& stackMark, Int32 > checkFrames, Int32 unrestrictedOverride)
> at System.Security.CodeAccessSecurityEngine.Check(Cod eAccessPermission > cap, StackCrawlMark& stackMark)
> at System.Security.CodeAccessPermission.Demand()
> at System.Drawing.Printing.PrinterSettings.SetHdevmod e(IntPtr

hdevmode)
> at System.Windows.Forms.PrintDialog.UpdatePrinterSett ings(PRINTDLG

data,
> PrinterSettings settings, PageSettings pageSettings)
> at System.Windows.Forms.PrintDialog.RunDialog(IntPtr hwndOwner)
> at System.Windows.Forms.CommonDialog.ShowDialog()
> at PrintTest.Form1.Button1_Click(Object sender, EventArgs e)
> at System.Windows.Forms.Control.OnClick(EventArgs e)
> at System.Windows.Forms.Button.OnClick(EventArgs e)
> at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
> at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
> button, Int32 clicks)
> at System.Windows.Forms.Control.WndProc(Message& m)
> at System.Windows.Forms.ButtonBase.WndProc(Message& m)
> at System.Windows.Forms.Button.WndProc(Message& m)
> at System.Windows.Forms.ControlNativeWindow.OnMessage (Message& m)
> at System.Windows.Forms.ControlNativeWindow.WndProc(M essage& m)
> at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, > IntPtr wparam, IntPtr lparam)
>
>
> ************** Loaded Assemblies **************
> mscorlib
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
> file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
> ----------------------------------------
> System.Drawing
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
>

file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
> ----------------------------------------
> System
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
>

file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
> ----------------------------------------
> RegexAssembly4_0
> Assembly Version: 0.0.0.0
> Win32 Version: n/a
> CodeBase:
> ----------------------------------------
> IEExecRemote
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
>

file:///c:/windows/assembly/gac/ieexecremote/1.0.5000.0__b03f5f7f11d50a3a/ieexecremote.dll
> ----------------------------------------
> PrintTest
> Assembly Version: 1.0.1468.23656
> Win32 Version: n/a
> CodeBase: http://192.168.0.33/VistaNETtest/Testing/PrintTest.EXE
> ----------------------------------------
> System.Windows.Forms
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
>

file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
> ----------------------------------------
> System.Xml
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
>

file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
> ----------------------------------------
> Microsoft.VisualBasic
> Assembly Version: 7.0.5000.0
> Win32 Version: 7.10.3052.4
> CodeBase:
>

file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
> ----------------------------------------
>
> ************** JIT Debugging **************
> To enable just in time (JIT) debugging, the config file for this
> application or machine (machine.config) must have the
> jitDebugging value set in the system.windows.forms section.
> The application must also be compiled with debugging
> enabled.
>
>
>



Jul 21 '05 #6
I tried the code that you gave, and here are the results:

Demand - Printing All: False
System.Security.SecurityException: Request for the permission of type
System.Drawing.Printing.PrintingPermission, System.Drawing,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a failed.
at System.Security.CodeAccessSecurityEngine.CheckHelp er(PermissionSet
grantedSet, PermissionSet deniedSet, CodeAccessPermission demand,
PermissionToken permToken)
at System.Security.CodeAccessSecurityEngine.Check(Per missionToken
permToken, CodeAccessPermission demand, StackCrawlMark& stackMark, Int32
checkFrames, Int32 unrestrictedOverride)
at System.Security.CodeAccessSecurityEngine.Check(Cod eAccessPermission
cap, StackCrawlMark& stackMark)
at System.Security.CodeAccessPermission.Demand()
at PrintTest.Form1.Button1_Click(Object sender, EventArgs e) in
C:\Projects\WorkArea\PrintTest\Form1.vb:line 102

Demand - Printing Default: False
System.Security.SecurityException: Request for the permission of type
System.Drawing.Printing.PrintingPermission, System.Drawing,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a failed.
at System.Security.CodeAccessSecurityEngine.CheckHelp er(PermissionSet
grantedSet, PermissionSet deniedSet, CodeAccessPermission demand,
PermissionToken permToken)
at System.Security.CodeAccessSecurityEngine.Check(Per missionToken
permToken, CodeAccessPermission demand, StackCrawlMark& stackMark, Int32
checkFrames, Int32 unrestrictedOverride)
at System.Security.CodeAccessSecurityEngine.Check(Cod eAccessPermission
cap, StackCrawlMark& stackMark)
at System.Security.CodeAccessPermission.Demand()
at PrintTest.Form1.Button1_Click(Object sender, EventArgs e) in
C:\Projects\WorkArea\PrintTest\Form1.vb:line 109

Demand - Printing Safe: True

Thanks,
Jody
"Ken Tucker [MVP]" <vb***@bellsouth.net> wrote in message
news:e7**************@TK2MSFTNGP11.phx.gbl...
Hi,

Try this code. Do you get any errors ?

'Check to see if we have printing rights

Dim Allperm As Security.IPermission = New
Drawing.Printing.PrintingPermission(Drawing.Printi ng.PrintingPermissionLevel
..AllPrinting)
Dim Defaultperm As Security.IPermission = New
Drawing.Printing.PrintingPermission(Drawing.Printi ng.PrintingPermissionLevel
..DefaultPrinting)
Dim Safeperm As Security.IPermission = New
Drawing.Printing.PrintingPermission(Drawing.Printi ng.PrintingPermissionLevel
..SafePrinting)
Try

Allperm.Demand()

Defaultperm.Demand()

Safeperm.Demand()

Catch ex As Exception

MessageBox.Show(ex.ToString)

End Try

Ken
----------------------
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
The code in question is as follows:

With dlgPrintSettings

If Not (.ShowDialog() = DialogResult.Cancel) Then

Try

TextBox1.AppendText("Printing ..." & ControlChars.CrLf)

.Document.Print()

TextBox1.AppendText("Print Successful")

Catch ex As Exception

Debug.WriteLine(ex.ToString)

'MsgBox(ex.ToString)

End Try

End If

End With

The security exception is thrown within the following line:

If Not (.ShowDialog() = DialogResult.Cancel) Then

after you click the PRINT button. The line below it never gets called:

TextBox1.AppendText("Printing ..." & ControlChars.CrLf)

Thanks,
Jody

"Ken Tucker [MVP]" <vb***@bellsouth.net> wrote in message
news:ur**************@TK2MSFTNGP09.phx.gbl...
Jody,

I can not access your sample code. Could you please post a link
to
or email me your code.

Ken
----------------
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:uz**************@TK2MSFTNGP09.phx.gbl...
>I am trying to find the definition of "Safe Printing" and cannot find
>out
> exactly what this entitles. The reason is that I am trying to print
> contents from a single textbox to no avail using the PrintDialog
> control
> under a security setting with only SafePrinting allowed.
>
> I have attached a sample project that I am using to try to accomplish
> this.
> The print dialog appears, but when I press the Print button, I get an
> exception (at the end of this message). Any ideas how I can make
this > work?
>
> Thanks,
> Jody
>
>
> System.Security.SecurityException: Request for the permission of type
> System.Drawing.Printing.PrintingPermission, System.Drawing,
> Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
> failed.
> at System.Security.CodeAccessSecurityEngine.CheckHelp er(PermissionSet > grantedSet, PermissionSet deniedSet, CodeAccessPermission demand,
> PermissionToken permToken)
> at System.Security.CodeAccessSecurityEngine.Check(Per missionToken
> permToken, CodeAccessPermission demand, StackCrawlMark& stackMark,
> Int32
> checkFrames, Int32 unrestrictedOverride)
> at
> System.Security.CodeAccessSecurityEngine.Check(Cod eAccessPermission
> cap, StackCrawlMark& stackMark)
> at System.Security.CodeAccessPermission.Demand()
> at System.Drawing.Printing.PrinterSettings.SetHdevmod e(IntPtr

hdevmode)
> at System.Windows.Forms.PrintDialog.UpdatePrinterSett ings(PRINTDLG

data,
> PrinterSettings settings, PageSettings pageSettings)
> at System.Windows.Forms.PrintDialog.RunDialog(IntPtr hwndOwner)
> at System.Windows.Forms.CommonDialog.ShowDialog()
> at PrintTest.Form1.Button1_Click(Object sender, EventArgs e)
> at System.Windows.Forms.Control.OnClick(EventArgs e)
> at System.Windows.Forms.Button.OnClick(EventArgs e)
> at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
> at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
> button, Int32 clicks)
> at System.Windows.Forms.Control.WndProc(Message& m)
> at System.Windows.Forms.ButtonBase.WndProc(Message& m)
> at System.Windows.Forms.Button.WndProc(Message& m)
> at System.Windows.Forms.ControlNativeWindow.OnMessage (Message& m)
> at System.Windows.Forms.ControlNativeWindow.WndProc(M essage& m)
> at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, > IntPtr wparam, IntPtr lparam)
>
>
> ************** Loaded Assemblies **************
> mscorlib
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
> file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
> ----------------------------------------
> System.Drawing
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
>

file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
> ----------------------------------------
> System
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
>

file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
> ----------------------------------------
> RegexAssembly4_0
> Assembly Version: 0.0.0.0
> Win32 Version: n/a
> CodeBase:
> ----------------------------------------
> IEExecRemote
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
>

file:///c:/windows/assembly/gac/ieexecremote/1.0.5000.0__b03f5f7f11d50a3a/ieexecremote.dll
> ----------------------------------------
> PrintTest
> Assembly Version: 1.0.1468.23656
> Win32 Version: n/a
> CodeBase: http://192.168.0.33/VistaNETtest/Testing/PrintTest.EXE
> ----------------------------------------
> System.Windows.Forms
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
>

file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
> ----------------------------------------
> System.Xml
> Assembly Version: 1.0.5000.0
> Win32 Version: 1.1.4322.573
> CodeBase:
>

file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
> ----------------------------------------
> Microsoft.VisualBasic
> Assembly Version: 7.0.5000.0
> Win32 Version: 7.10.3052.4
> CodeBase:
>

file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
> ----------------------------------------
>
> ************** JIT Debugging **************
> To enable just in time (JIT) debugging, the config file for this
> application or machine (machine.config) must have the
> jitDebugging value set in the system.windows.forms section.
> The application must also be compiled with debugging
> enabled.
>
>
>



Jul 21 '05 #7
The only way I can get an Internet permission set equivalent to work is to
up the printing permissions to all. Doesn't work with safe.
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
I am still having difficulty in getting this to work. I have attached an
updated sample project with what I am trying to accomplish.

The project will be run over the Internet Zone with the default security
settings which have limited UIPermissions and SafePrinting. The permissions that I have enforced on the project are listed below this message. One
change that I had to do was to move the UIPermission from Minimal to
Optional in order for the application to run over the Internet Zone.

If somebody is able to get printing working with the permissions I have
described, could you please provide some sample code as to how it was done? I am not sure if I am just missing something small or if I am completely
off-base with this. Having the print dialog is not a requirement for this
if it violates the default security settings for the Internet Zone.

Permissions on the Assembly:
------------------------------
minimal permission set:
<PermissionSet class="System.Security.PermissionSet"
version="1">
<IPermission class="System.Security.Permissions.SecurityPermiss ion,
mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
version="1"
Flags="Execution"/>
<IPermission class="System.Drawing.Printing.PrintingPermission,
System.Drawing, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
version="1"
Level="SafePrinting"/>
</PermissionSet>

optional permission set:
<PermissionSet class="System.Security.PermissionSet"
version="1">
<IPermission class="System.Security.Permissions.UIPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
</PermissionSet>

refused permission set:
Not specified

"Shel Blauman [MSFT]" <sh******@online.microsoft.com> wrote in message
news:OB*************@TK2MSFTNGP11.phx.gbl...
Let me admend this, you'll also need safe printing. Just to display the
dialog box you're going to need unrestricted UIPermission, then to perform
the printing you'll need the safe printing permission. Was able to run

your
app to completion with safe printing permission. You may not need all the other permissions I came up with, you might try experimenting.

Shel

--
This posting is provided "AS IS" with no warranties, and confers no

rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"Shel Blauman [MSFT]" <sh******@online.microsoft.com> wrote in message
news:e2******************@TK2MSFTNGP10.phx.gbl...
Here's the permission requirements I get when I check your application:
<IPermission class="System.Security.Permissions.EnvironmentPerm ission,
mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
<IPermission class="System.Security.Permissions.FileIOPermissio n,

mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
<IPermission class="System.Security.Permissions.SecurityPermiss ion,
mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
version="1"
Flags="UnmanagedCode, ControlEvidence"/>
<IPermission class="System.Security.Permissions.UIPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
<IPermission class="System.Net.WebPermission, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>

================================================== ==========================
====
Shel
--
This posting is provided "AS IS" with no warranties, and confers no

rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
> The code in question is as follows:
>
> With dlgPrintSettings
>
> If Not (.ShowDialog() = DialogResult.Cancel) Then
>
> Try
>
> TextBox1.AppendText("Printing ..." & ControlChars.CrLf)
>
> .Document.Print()
>
> TextBox1.AppendText("Print Successful")
>
> Catch ex As Exception
>
> Debug.WriteLine(ex.ToString)
>
> 'MsgBox(ex.ToString)
>
> End Try
>
> End If
>
> End With
>
>
>
> The security exception is thrown within the following line:
>
> If Not (.ShowDialog() = DialogResult.Cancel) Then
>
> after you click the PRINT button. The line below it never gets called: >
> TextBox1.AppendText("Printing ..." & ControlChars.CrLf)
>
>
>
> Thanks,
> Jody
>
> "Ken Tucker [MVP]" <vb***@bellsouth.net> wrote in message
> news:ur**************@TK2MSFTNGP09.phx.gbl...
> > Jody,
> >
> > I can not access your sample code. Could you please post a link
> to
> > or email me your code.
> >
> > Ken
> > ----------------
> > "Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
> > news:uz**************@TK2MSFTNGP09.phx.gbl...
> > >I am trying to find the definition of "Safe Printing" and cannot find out
> > > exactly what this entitles. The reason is that I am trying to print > > > contents from a single textbox to no avail using the PrintDialog
control
> > > under a security setting with only SafePrinting allowed.
> > >
> > > I have attached a sample project that I am using to try to

accomplish
> > > this.
> > > The print dialog appears, but when I press the Print button, I
get
an
> > > exception (at the end of this message). Any ideas how I can
make this
> > > work?
> > >
> > > Thanks,
> > > Jody
> > >
> > >
> > > System.Security.SecurityException: Request for the permission of

type
> > > System.Drawing.Printing.PrintingPermission, System.Drawing,
> > > Version=1.0.5000.0, Culture=neutral,

PublicKeyToken=b03f5f7f11d50a3a > > > failed.
> > > at
System.Security.CodeAccessSecurityEngine.CheckHelp er(PermissionSet
> > > grantedSet, PermissionSet deniedSet, CodeAccessPermission
demand, > > > PermissionToken permToken)
> > > at

System.Security.CodeAccessSecurityEngine.Check(Per missionToken > > > permToken, CodeAccessPermission demand, StackCrawlMark& stackMark, Int32
> > > checkFrames, Int32 unrestrictedOverride)
> > > at
System.Security.CodeAccessSecurityEngine.Check(Cod eAccessPermission
> > > cap, StackCrawlMark& stackMark)
> > > at System.Security.CodeAccessPermission.Demand()
> > > at System.Drawing.Printing.PrinterSettings.SetHdevmod e(IntPtr
> hdevmode)
> > > at System.Windows.Forms.PrintDialog.UpdatePrinterSett ings(PRINTDLG > data,
> > > PrinterSettings settings, PageSettings pageSettings)
> > > at System.Windows.Forms.PrintDialog.RunDialog(IntPtr hwndOwner) > > > at System.Windows.Forms.CommonDialog.ShowDialog()
> > > at PrintTest.Form1.Button1_Click(Object sender, EventArgs e)
> > > at System.Windows.Forms.Control.OnClick(EventArgs e)
> > > at System.Windows.Forms.Button.OnClick(EventArgs e)
> > > at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent) > > > at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons > > > button, Int32 clicks)
> > > at System.Windows.Forms.Control.WndProc(Message& m)
> > > at System.Windows.Forms.ButtonBase.WndProc(Message& m)
> > > at System.Windows.Forms.Button.WndProc(Message& m)
> > > at System.Windows.Forms.ControlNativeWindow.OnMessage (Message& m) > > > at System.Windows.Forms.ControlNativeWindow.WndProc(M essage& m) > > > at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg,
> > > IntPtr wparam, IntPtr lparam)
> > >
> > >
> > > ************** Loaded Assemblies **************
> > > mscorlib
> > > Assembly Version: 1.0.5000.0
> > > Win32 Version: 1.1.4322.573
> > > CodeBase:
> > > file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll > > > ----------------------------------------
> > > System.Drawing
> > > Assembly Version: 1.0.5000.0
> > > Win32 Version: 1.1.4322.573
> > > CodeBase:
> > >
>

file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
> > > ----------------------------------------
> > > System
> > > Assembly Version: 1.0.5000.0
> > > Win32 Version: 1.1.4322.573
> > > CodeBase:
> > >
>

file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
> > > ----------------------------------------
> > > RegexAssembly4_0
> > > Assembly Version: 0.0.0.0
> > > Win32 Version: n/a
> > > CodeBase:
> > > ----------------------------------------
> > > IEExecRemote
> > > Assembly Version: 1.0.5000.0
> > > Win32 Version: 1.1.4322.573
> > > CodeBase:
> > >
>

file:///c:/windows/assembly/gac/ieexecremote/1.0.5000.0__b03f5f7f11d50a3a/ieexecremote.dll
> > > ----------------------------------------
> > > PrintTest
> > > Assembly Version: 1.0.1468.23656
> > > Win32 Version: n/a
> > > CodeBase: http://192.168.0.33/VistaNETtest/Testing/PrintTest.EXE > > > ----------------------------------------
> > > System.Windows.Forms
> > > Assembly Version: 1.0.5000.0
> > > Win32 Version: 1.1.4322.573
> > > CodeBase:
> > >
>

file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
> > > ----------------------------------------
> > > System.Xml
> > > Assembly Version: 1.0.5000.0
> > > Win32 Version: 1.1.4322.573
> > > CodeBase:
> > >
>

file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
> > > ----------------------------------------
> > > Microsoft.VisualBasic
> > > Assembly Version: 7.0.5000.0
> > > Win32 Version: 7.10.3052.4
> > > CodeBase:
> > >
>

file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
> > > ----------------------------------------
> > >
> > > ************** JIT Debugging **************
> > > To enable just in time (JIT) debugging, the config file for this
> > > application or machine (machine.config) must have the
> > > jitDebugging value set in the system.windows.forms section.
> > > The application must also be compiled with debugging
> > > enabled.
> > >
> > >
> > >
> >
> >
>
>



Jul 21 '05 #8
According to the documentation, the Internet Zone allows for Safe Printing.
Exactly what is "Safe Printing"? Is the documentation incorrect? Or am I
interpreting this incorrectly in assuming that I should be able to send
information to the printer with SafePrinting set?

With my sample application, I set the PrintingPermission to AllPrinting from
SafePrinting which worked if run locally, but still does not work when run
through the Internet Zone (launched from a web server). Adjusting the
permissions on the Internet Zone itself to allow for AllPrinting vs
SafePrinting is not an option for us.

Is printing even possible from a "No Touch Deployment" appliction run over
the web with the default settings for the Internet Zone (which has
SafePrinting and not AllPrinting)? If so, is there documentation or sample
code that I can run to see how this is done?

Thanks,
Jody
"Shel Blauman [MSFT]" <sh******@online.microsoft.com> wrote in message
news:ek**************@TK2MSFTNGP09.phx.gbl...
The only way I can get an Internet permission set equivalent to work is to
up the printing permissions to all. Doesn't work with safe.
--
This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
I am still having difficulty in getting this to work. I have attached an
updated sample project with what I am trying to accomplish.

The project will be run over the Internet Zone with the default security
settings which have limited UIPermissions and SafePrinting. The permissions
that I have enforced on the project are listed below this message. One
change that I had to do was to move the UIPermission from Minimal to
Optional in order for the application to run over the Internet Zone.

If somebody is able to get printing working with the permissions I have
described, could you please provide some sample code as to how it was

done?
I am not sure if I am just missing something small or if I am completely
off-base with this. Having the print dialog is not a requirement for this if it violates the default security settings for the Internet Zone.

Permissions on the Assembly:
------------------------------
minimal permission set:
<PermissionSet class="System.Security.PermissionSet"
version="1">
<IPermission class="System.Security.Permissions.SecurityPermiss ion,
mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
version="1"
Flags="Execution"/>
<IPermission class="System.Drawing.Printing.PrintingPermission,
System.Drawing, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
version="1"
Level="SafePrinting"/>
</PermissionSet>

optional permission set:
<PermissionSet class="System.Security.PermissionSet"
version="1">
<IPermission class="System.Security.Permissions.UIPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
</PermissionSet>

refused permission set:
Not specified

"Shel Blauman [MSFT]" <sh******@online.microsoft.com> wrote in message
news:OB*************@TK2MSFTNGP11.phx.gbl...
Let me admend this, you'll also need safe printing. Just to display the dialog box you're going to need unrestricted UIPermission, then to perform the printing you'll need the safe printing permission. Was able to run your
app to completion with safe printing permission. You may not need all the other permissions I came up with, you might try experimenting.

Shel

--
This posting is provided "AS IS" with no warranties, and confers no

rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"Shel Blauman [MSFT]" <sh******@online.microsoft.com> wrote in message
news:e2******************@TK2MSFTNGP10.phx.gbl...
> Here's the permission requirements I get when I check your application: >
> <IPermission
class="System.Security.Permissions.EnvironmentPerm ission, > mscorlib, Version=1.0.5000.0, Culture=neutral,
> PublicKeyToken=b77a5c561934e089"
> version="1"
> Unrestricted="true"/>
> <IPermission class="System.Security.Permissions.FileIOPermissio n,
mscorlib,
> Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > version="1"
> Unrestricted="true"/>
> <IPermission class="System.Security.Permissions.SecurityPermiss ion,
> mscorlib, Version=1.0.5000.0, Culture=neutral,
> PublicKeyToken=b77a5c561934e089"
> version="1"
> Flags="UnmanagedCode, ControlEvidence"/>
> <IPermission class="System.Security.Permissions.UIPermission, mscorlib, > Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > version="1"
> Unrestricted="true"/>
> <IPermission class="System.Net.WebPermission, System,

Version=1.0.5000.0,
> Culture=neutral, PublicKeyToken=b77a5c561934e089"
> version="1"
> Unrestricted="true"/>
>
>

================================================== ==========================
> ====
> Shel
> --
> This posting is provided "AS IS" with no warranties, and confers no
rights.
> Use of included script samples are subject to the terms specified at
> http://www.microsoft.com/info/cpyright.htm
>
>
> "Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
> news:%2****************@tk2msftngp13.phx.gbl...
> > The code in question is as follows:
> >
> > With dlgPrintSettings
> >
> > If Not (.ShowDialog() = DialogResult.Cancel) Then
> >
> > Try
> >
> > TextBox1.AppendText("Printing ..." & ControlChars.CrLf)
> >
> > .Document.Print()
> >
> > TextBox1.AppendText("Print Successful")
> >
> > Catch ex As Exception
> >
> > Debug.WriteLine(ex.ToString)
> >
> > 'MsgBox(ex.ToString)
> >
> > End Try
> >
> > End If
> >
> > End With
> >
> >
> >
> > The security exception is thrown within the following line:
> >
> > If Not (.ShowDialog() = DialogResult.Cancel) Then
> >
> > after you click the PRINT button. The line below it never gets called: > >
> > TextBox1.AppendText("Printing ..." & ControlChars.CrLf)
> >
> >
> >
> > Thanks,
> > Jody
> >
> > "Ken Tucker [MVP]" <vb***@bellsouth.net> wrote in message
> > news:ur**************@TK2MSFTNGP09.phx.gbl...
> > > Jody,
> > >
> > > I can not access your sample code. Could you please post a
link
> > to
> > > or email me your code.
> > >
> > > Ken
> > > ----------------
> > > "Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
> > > news:uz**************@TK2MSFTNGP09.phx.gbl...
> > > >I am trying to find the definition of "Safe Printing" and
cannot find
> out
> > > > exactly what this entitles. The reason is that I am trying to

print
> > > > contents from a single textbox to no avail using the
PrintDialog > control
> > > > under a security setting with only SafePrinting allowed.
> > > >
> > > > I have attached a sample project that I am using to try to
accomplish
> > > > this.
> > > > The print dialog appears, but when I press the Print button, I

get an
> > > > exception (at the end of this message). Any ideas how I can make this
> > > > work?
> > > >
> > > > Thanks,
> > > > Jody
> > > >
> > > >
> > > > System.Security.SecurityException: Request for the permission of type
> > > > System.Drawing.Printing.PrintingPermission, System.Drawing,
> > > > Version=1.0.5000.0, Culture=neutral,

PublicKeyToken=b03f5f7f11d50a3a
> > > > failed.
> > > > at
> System.Security.CodeAccessSecurityEngine.CheckHelp er(PermissionSet
> > > > grantedSet, PermissionSet deniedSet, CodeAccessPermission demand, > > > > PermissionToken permToken)
> > > > at

System.Security.CodeAccessSecurityEngine.Check(Per missionToken
> > > > permToken, CodeAccessPermission demand, StackCrawlMark& stackMark, > Int32
> > > > checkFrames, Int32 unrestrictedOverride)
> > > > at
> System.Security.CodeAccessSecurityEngine.Check(Cod eAccessPermission
> > > > cap, StackCrawlMark& stackMark)
> > > > at System.Security.CodeAccessPermission.Demand()
> > > > at System.Drawing.Printing.PrinterSettings.SetHdevmod e(IntPtr > > hdevmode)
> > > > at

System.Windows.Forms.PrintDialog.UpdatePrinterSett ings(PRINTDLG
> > data,
> > > > PrinterSettings settings, PageSettings pageSettings)
> > > > at System.Windows.Forms.PrintDialog.RunDialog(IntPtr hwndOwner) > > > > at System.Windows.Forms.CommonDialog.ShowDialog()
> > > > at PrintTest.Form1.Button1_Click(Object sender, EventArgs e)
> > > > at System.Windows.Forms.Control.OnClick(EventArgs e)
> > > > at System.Windows.Forms.Button.OnClick(EventArgs e)
> > > > at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent) > > > > at System.Windows.Forms.Control.WmMouseUp(Message& m,

MouseButtons
> > > > button, Int32 clicks)
> > > > at System.Windows.Forms.Control.WndProc(Message& m)
> > > > at System.Windows.Forms.ButtonBase.WndProc(Message& m)
> > > > at System.Windows.Forms.Button.WndProc(Message& m)
> > > > at System.Windows.Forms.ControlNativeWindow.OnMessage (Message& m)
> > > > at System.Windows.Forms.ControlNativeWindow.WndProc(M essage& m) > > > > at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 > msg,
> > > > IntPtr wparam, IntPtr lparam)
> > > >
> > > >
> > > > ************** Loaded Assemblies **************
> > > > mscorlib
> > > > Assembly Version: 1.0.5000.0
> > > > Win32 Version: 1.1.4322.573
> > > > CodeBase:
> > > > file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll > > > > ----------------------------------------
> > > > System.Drawing
> > > > Assembly Version: 1.0.5000.0
> > > > Win32 Version: 1.1.4322.573
> > > > CodeBase:
> > > >
> >
>

file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll > > > > ----------------------------------------
> > > > System
> > > > Assembly Version: 1.0.5000.0
> > > > Win32 Version: 1.1.4322.573
> > > > CodeBase:
> > > >
> >
>

file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
> > > > ----------------------------------------
> > > > RegexAssembly4_0
> > > > Assembly Version: 0.0.0.0
> > > > Win32 Version: n/a
> > > > CodeBase:
> > > > ----------------------------------------
> > > > IEExecRemote
> > > > Assembly Version: 1.0.5000.0
> > > > Win32 Version: 1.1.4322.573
> > > > CodeBase:
> > > >
> >
>

file:///c:/windows/assembly/gac/ieexecremote/1.0.5000.0__b03f5f7f11d50a3a/ieexecremote.dll
> > > > ----------------------------------------
> > > > PrintTest
> > > > Assembly Version: 1.0.1468.23656
> > > > Win32 Version: n/a
> > > > CodeBase:

http://192.168.0.33/VistaNETtest/Testing/PrintTest.EXE
> > > > ----------------------------------------
> > > > System.Windows.Forms
> > > > Assembly Version: 1.0.5000.0
> > > > Win32 Version: 1.1.4322.573
> > > > CodeBase:
> > > >
> >
>

file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
> > > > ----------------------------------------
> > > > System.Xml
> > > > Assembly Version: 1.0.5000.0
> > > > Win32 Version: 1.1.4322.573
> > > > CodeBase:
> > > >
> >
>

file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
> > > > ----------------------------------------
> > > > Microsoft.VisualBasic
> > > > Assembly Version: 7.0.5000.0
> > > > Win32 Version: 7.10.3052.4
> > > > CodeBase:
> > > >
> >
>

file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
> > > > ----------------------------------------
> > > >
> > > > ************** JIT Debugging **************
> > > > To enable just in time (JIT) debugging, the config file for this > > > > application or machine (machine.config) must have the
> > > > jitDebugging value set in the system.windows.forms section.
> > > > The application must also be compiled with debugging
> > > > enabled.
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>



Jul 21 '05 #9
You'll notice a "send comments on this topic" at the bottom of the page for
PrintDocument.Print (the one that states safe printing is the required
permission). I clicked on that and sent in a comment about safe printing
not working. Should get to the writer and should result in a bug being
filed unless you and I are missing something. You could do the same if you
would like to hear back directly. I've checked for bugs and don't see any
filed for this.

Shel

--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:eV**************@TK2MSFTNGP11.phx.gbl...
According to the documentation, the Internet Zone allows for Safe Printing. Exactly what is "Safe Printing"? Is the documentation incorrect? Or am I
interpreting this incorrectly in assuming that I should be able to send
information to the printer with SafePrinting set?

With my sample application, I set the PrintingPermission to AllPrinting from SafePrinting which worked if run locally, but still does not work when run
through the Internet Zone (launched from a web server). Adjusting the
permissions on the Internet Zone itself to allow for AllPrinting vs
SafePrinting is not an option for us.

Is printing even possible from a "No Touch Deployment" appliction run over
the web with the default settings for the Internet Zone (which has
SafePrinting and not AllPrinting)? If so, is there documentation or sample code that I can run to see how this is done?

Thanks,
Jody
"Shel Blauman [MSFT]" <sh******@online.microsoft.com> wrote in message
news:ek**************@TK2MSFTNGP09.phx.gbl...
The only way I can get an Internet permission set equivalent to work is to
up the printing permissions to all. Doesn't work with safe.
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
I am still having difficulty in getting this to work. I have attached an updated sample project with what I am trying to accomplish.

The project will be run over the Internet Zone with the default security settings which have limited UIPermissions and SafePrinting. The

permissions
that I have enforced on the project are listed below this message. One change that I had to do was to move the UIPermission from Minimal to
Optional in order for the application to run over the Internet Zone.

If somebody is able to get printing working with the permissions I have described, could you please provide some sample code as to how it was

done?
I am not sure if I am just missing something small or if I am completely off-base with this. Having the print dialog is not a requirement for this if it violates the default security settings for the Internet Zone.

Permissions on the Assembly:
------------------------------
minimal permission set:
<PermissionSet class="System.Security.PermissionSet"
version="1">
<IPermission class="System.Security.Permissions.SecurityPermiss ion,
mscorlib, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"
version="1"
Flags="Execution"/>
<IPermission class="System.Drawing.Printing.PrintingPermission,
System.Drawing, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
version="1"
Level="SafePrinting"/>
</PermissionSet>

optional permission set:
<PermissionSet class="System.Security.PermissionSet"
version="1">
<IPermission class="System.Security.Permissions.UIPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
version="1"
Unrestricted="true"/>
</PermissionSet>

refused permission set:
Not specified

"Shel Blauman [MSFT]" <sh******@online.microsoft.com> wrote in message
news:OB*************@TK2MSFTNGP11.phx.gbl...
> Let me admend this, you'll also need safe printing. Just to display the > dialog box you're going to need unrestricted UIPermission, then to

perform
> the printing you'll need the safe printing permission. Was able to run your
> app to completion with safe printing permission. You may not need all the
> other permissions I came up with, you might try experimenting.
>
> Shel
>
> --
> This posting is provided "AS IS" with no warranties, and confers no
rights.
> Use of included script samples are subject to the terms specified at
> http://www.microsoft.com/info/cpyright.htm
>
>
> "Shel Blauman [MSFT]" <sh******@online.microsoft.com> wrote in
message > news:e2******************@TK2MSFTNGP10.phx.gbl...
> > Here's the permission requirements I get when I check your

application:
> >
> > <IPermission class="System.Security.Permissions.EnvironmentPerm ission, > > mscorlib, Version=1.0.5000.0, Culture=neutral,
> > PublicKeyToken=b77a5c561934e089"
> > version="1"
> > Unrestricted="true"/>
> > <IPermission class="System.Security.Permissions.FileIOPermissio n,
> mscorlib,
> > Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > > version="1"
> > Unrestricted="true"/>
> > <IPermission class="System.Security.Permissions.SecurityPermiss ion, > > mscorlib, Version=1.0.5000.0, Culture=neutral,
> > PublicKeyToken=b77a5c561934e089"
> > version="1"
> > Flags="UnmanagedCode, ControlEvidence"/>
> > <IPermission class="System.Security.Permissions.UIPermission,

mscorlib,
> > Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > > version="1"
> > Unrestricted="true"/>
> > <IPermission class="System.Net.WebPermission, System,
Version=1.0.5000.0,
> > Culture=neutral, PublicKeyToken=b77a5c561934e089"
> > version="1"
> > Unrestricted="true"/>
> >
> >
>

================================================== ==========================
> > ====
> > Shel
> > --
> > This posting is provided "AS IS" with no warranties, and confers no > rights.
> > Use of included script samples are subject to the terms specified at > > http://www.microsoft.com/info/cpyright.htm
> >
> >
> > "Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message
> > news:%2****************@tk2msftngp13.phx.gbl...
> > > The code in question is as follows:
> > >
> > > With dlgPrintSettings
> > >
> > > If Not (.ShowDialog() = DialogResult.Cancel) Then
> > >
> > > Try
> > >
> > > TextBox1.AppendText("Printing ..." & ControlChars.CrLf)
> > >
> > > .Document.Print()
> > >
> > > TextBox1.AppendText("Print Successful")
> > >
> > > Catch ex As Exception
> > >
> > > Debug.WriteLine(ex.ToString)
> > >
> > > 'MsgBox(ex.ToString)
> > >
> > > End Try
> > >
> > > End If
> > >
> > > End With
> > >
> > >
> > >
> > > The security exception is thrown within the following line:
> > >
> > > If Not (.ShowDialog() = DialogResult.Cancel) Then
> > >
> > > after you click the PRINT button. The line below it never gets

called:
> > >
> > > TextBox1.AppendText("Printing ..." & ControlChars.CrLf)
> > >
> > >
> > >
> > > Thanks,
> > > Jody
> > >
> > > "Ken Tucker [MVP]" <vb***@bellsouth.net> wrote in message
> > > news:ur**************@TK2MSFTNGP09.phx.gbl...
> > > > Jody,
> > > >
> > > > I can not access your sample code. Could you please post
a
> link
> > > to
> > > > or email me your code.
> > > >
> > > > Ken
> > > > ----------------
> > > > "Jody Gelowitz" <jo**@mail.visualstatement.com> wrote in message > > > > news:uz**************@TK2MSFTNGP09.phx.gbl...
> > > > >I am trying to find the definition of "Safe Printing" and

cannot find
> > out
> > > > > exactly what this entitles. The reason is that I am trying to print
> > > > > contents from a single textbox to no avail using the PrintDialog > > control
> > > > > under a security setting with only SafePrinting allowed.
> > > > >
> > > > > I have attached a sample project that I am using to try to
> accomplish
> > > > > this.
> > > > > The print dialog appears, but when I press the Print button, I get
> an
> > > > > exception (at the end of this message). Any ideas how I can

make
> this
> > > > > work?
> > > > >
> > > > > Thanks,
> > > > > Jody
> > > > >
> > > > >
> > > > > System.Security.SecurityException: Request for the
permission of > type
> > > > > System.Drawing.Printing.PrintingPermission, System.Drawing,
> > > > > Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a
> > > > > failed.
> > > > > at
> > System.Security.CodeAccessSecurityEngine.CheckHelp er(PermissionSet
> > > > > grantedSet, PermissionSet deniedSet, CodeAccessPermission

demand,
> > > > > PermissionToken permToken)
> > > > > at
System.Security.CodeAccessSecurityEngine.Check(Per missionToken
> > > > > permToken, CodeAccessPermission demand, StackCrawlMark&

stackMark,
> > Int32
> > > > > checkFrames, Int32 unrestrictedOverride)
> > > > > at
> >
System.Security.CodeAccessSecurityEngine.Check(Cod eAccessPermission > > > > > cap, StackCrawlMark& stackMark)
> > > > > at System.Security.CodeAccessPermission.Demand()
> > > > > at System.Drawing.Printing.PrinterSettings.SetHdevmod e(IntPtr > > > hdevmode)
> > > > > at
System.Windows.Forms.PrintDialog.UpdatePrinterSett ings(PRINTDLG
> > > data,
> > > > > PrinterSettings settings, PageSettings pageSettings)
> > > > > at System.Windows.Forms.PrintDialog.RunDialog(IntPtr

hwndOwner)
> > > > > at System.Windows.Forms.CommonDialog.ShowDialog()
> > > > > at PrintTest.Form1.Button1_Click(Object sender, EventArgs e) > > > > > at System.Windows.Forms.Control.OnClick(EventArgs e)
> > > > > at System.Windows.Forms.Button.OnClick(EventArgs e)
> > > > > at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs

mevent)
> > > > > at System.Windows.Forms.Control.WmMouseUp(Message& m,
MouseButtons
> > > > > button, Int32 clicks)
> > > > > at System.Windows.Forms.Control.WndProc(Message& m)
> > > > > at System.Windows.Forms.ButtonBase.WndProc(Message& m)
> > > > > at System.Windows.Forms.Button.WndProc(Message& m)
> > > > > at System.Windows.Forms.ControlNativeWindow.OnMessage (Message& m)
> > > > > at System.Windows.Forms.ControlNativeWindow.WndProc(M essage& m)
> > > > > at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd,

Int32
> > msg,
> > > > > IntPtr wparam, IntPtr lparam)
> > > > >
> > > > >
> > > > > ************** Loaded Assemblies **************
> > > > > mscorlib
> > > > > Assembly Version: 1.0.5000.0
> > > > > Win32 Version: 1.1.4322.573
> > > > > CodeBase:
> > > > >

file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
> > > > > ----------------------------------------
> > > > > System.Drawing
> > > > > Assembly Version: 1.0.5000.0
> > > > > Win32 Version: 1.1.4322.573
> > > > > CodeBase:
> > > > >
> > >
> >
>

file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll > > > > > ----------------------------------------
> > > > > System
> > > > > Assembly Version: 1.0.5000.0
> > > > > Win32 Version: 1.1.4322.573
> > > > > CodeBase:
> > > > >
> > >
> >
>

file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
> > > > > ----------------------------------------
> > > > > RegexAssembly4_0
> > > > > Assembly Version: 0.0.0.0
> > > > > Win32 Version: n/a
> > > > > CodeBase:
> > > > > ----------------------------------------
> > > > > IEExecRemote
> > > > > Assembly Version: 1.0.5000.0
> > > > > Win32 Version: 1.1.4322.573
> > > > > CodeBase:
> > > > >
> > >
> >
>

file:///c:/windows/assembly/gac/ieexecremote/1.0.5000.0__b03f5f7f11d50a3a/ieexecremote.dll
> > > > > ----------------------------------------
> > > > > PrintTest
> > > > > Assembly Version: 1.0.1468.23656
> > > > > Win32 Version: n/a
> > > > > CodeBase:
http://192.168.0.33/VistaNETtest/Testing/PrintTest.EXE
> > > > > ----------------------------------------
> > > > > System.Windows.Forms
> > > > > Assembly Version: 1.0.5000.0
> > > > > Win32 Version: 1.1.4322.573
> > > > > CodeBase:
> > > > >
> > >
> >
>

file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
> > > > > ----------------------------------------
> > > > > System.Xml
> > > > > Assembly Version: 1.0.5000.0
> > > > > Win32 Version: 1.1.4322.573
> > > > > CodeBase:
> > > > >
> > >
> >
>

file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
> > > > > ----------------------------------------
> > > > > Microsoft.VisualBasic
> > > > > Assembly Version: 7.0.5000.0
> > > > > Win32 Version: 7.10.3052.4
> > > > > CodeBase:
> > > > >
> > >
> >
>

file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll
> > > > > ----------------------------------------
> > > > >
> > > > > ************** JIT Debugging **************
> > > > > To enable just in time (JIT) debugging, the config file for this > > > > > application or machine (machine.config) must have the
> > > > > jitDebugging value set in the system.windows.forms section.
> > > > > The application must also be compiled with debugging
> > > > > enabled.
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>



Jul 21 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Jody Gelowitz | last post by:
I was just wondering if anybody has been able to figure out how to get Safe Printing working over an Internet Zone. Based on what was mentioned from the previous thread titled "Safe Printing",...
9
by: Jody Gelowitz | last post by:
I am trying to find the definition of "Safe Printing" and cannot find out exactly what this entitles. The reason is that I am trying to print contents from a single textbox to no avail using the...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.