473,416 Members | 1,846 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,416 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.


Nov 20 '05 #1
9 1596
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.

Nov 20 '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.


Nov 20 '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.
>
>
>



Nov 20 '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.



Nov 20 '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.
>
>
>



Nov 20 '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.
>
>
>



Nov 20 '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.
> > >
> > >
> > >
> >
> >
>
>



Nov 20 '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.
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>



Nov 20 '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.
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> >
> >
>
>



Nov 20 '05 #10

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

Similar topics

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...
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",...
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: 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...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

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.