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" <jody@mail.visualstatement.com> wrote in message
news:eVupWfu1DHA.3216@TK2MSFTNGP11.phx.gbl...[color=blue]
> According to the documentation, the Internet Zone allows for Safe[/color]
Printing.[color=blue]
> 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[/color]
from[color=blue]
> 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[/color]
sample[color=blue]
> code that I can run to see how this is done?
>
> Thanks,
> Jody
>
>
> "Shel Blauman [MSFT]" <sheldonb@online.microsoft.com> wrote in message
> news:ek6SCLu1DHA.1736@TK2MSFTNGP09.phx.gbl...[color=green]
> > The only way I can get an Internet permission set equivalent to work is[/color][/color]
to[color=blue][color=green]
> > up the printing permissions to all. Doesn't work with safe.
> > --
> > This posting is provided "AS IS" with no warranties, and confers no[/color]
> rights.[color=green]
> > Use of included script samples are subject to the terms specified at
> >
http://www.microsoft.com/info/cpyright.htm
> >
> >
> > "Jody Gelowitz" <jody@mail.visualstatement.com> wrote in message
> > news:%238UyrJt1DHA.4060@TK2MSFTNGP11.phx.gbl...[color=darkred]
> > > I am still having difficulty in getting this to work. I have attached[/color][/color]
> an[color=green][color=darkred]
> > > updated sample project with what I am trying to accomplish.
> > >
> > > The project will be run over the Internet Zone with the default[/color][/color][/color]
security[color=blue][color=green][color=darkred]
> > > settings which have limited UIPermissions and SafePrinting. The[/color]
> > permissions[color=darkred]
> > > that I have enforced on the project are listed below this message.[/color][/color][/color]
One[color=blue][color=green][color=darkred]
> > > 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[/color][/color][/color]
have[color=blue][color=green][color=darkred]
> > > described, could you please provide some sample code as to how it was[/color]
> > done?[color=darkred]
> > > I am not sure if I am just missing something small or if I am[/color][/color][/color]
completely[color=blue][color=green][color=darkred]
> > > off-base with this. Having the print dialog is not a requirement for[/color][/color]
> this[color=green][color=darkred]
> > > 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,[/color][/color]
> mscorlib,[color=green][color=darkred]
> > > Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
> > > version="1"
> > > Unrestricted="true"/>
> > > </PermissionSet>
> > >
> > > refused permission set:
> > > Not specified
> > >
> > >
> > >
> > >
> > >
> > > "Shel Blauman [MSFT]" <sheldonb@online.microsoft.com> wrote in message
> > > news:OBrh5tk1DHA.556@TK2MSFTNGP11.phx.gbl...
> > > > Let me admend this, you'll also need safe printing. Just to display[/color][/color]
> the[color=green][color=darkred]
> > > > dialog box you're going to need unrestricted UIPermission, then to[/color]
> > perform[color=darkred]
> > > > the printing you'll need the safe printing permission. Was able to[/color][/color]
> run[color=green][color=darkred]
> > > your
> > > > app to completion with safe printing permission. You may not need[/color][/color][/color]
all[color=blue][color=green]
> > the[color=darkred]
> > > > 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]" <sheldonb@online.microsoft.com> wrote in[/color][/color][/color]
message[color=blue][color=green][color=darkred]
> > > > news:e2A%23%23fk1DHA.1760@TK2MSFTNGP10.phx.gbl...
> > > > > Here's the permission requirements I get when I check your[/color]
> > application:[color=darkred]
> > > > >
> > > > > <IPermission[/color][/color]
> class="System.Security.Permissions.EnvironmentPerm ission,[color=green][color=darkred]
> > > > > 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,[/color][/color]
> PublicKeyToken=b77a5c561934e089"[color=green][color=darkred]
> > > > > version="1"
> > > > > Unrestricted="true"/>
> > > > > <IPermission[/color][/color][/color]
class="System.Security.Permissions.SecurityPermiss ion,[color=blue][color=green][color=darkred]
> > > > > mscorlib, Version=1.0.5000.0, Culture=neutral,
> > > > > PublicKeyToken=b77a5c561934e089"
> > > > > version="1"
> > > > > Flags="UnmanagedCode, ControlEvidence"/>
> > > > > <IPermission class="System.Security.Permissions.UIPermission,[/color]
> > mscorlib,[color=darkred]
> > > > > Version=1.0.5000.0, Culture=neutral,[/color][/color]
> PublicKeyToken=b77a5c561934e089"[color=green][color=darkred]
> > > > > version="1"
> > > > > Unrestricted="true"/>
> > > > > <IPermission class="System.Net.WebPermission, System,
> > > Version=1.0.5000.0,
> > > > > Culture=neutral, PublicKeyToken=b77a5c561934e089"
> > > > > version="1"
> > > > > Unrestricted="true"/>
> > > > >
> > > > >
> > > >
> > >[/color]
> >[/color]
>[/color]
================================================== ==========================[color=blue][color=green][color=darkred]
> > > > > ====
> > > > > Shel
> > > > > --
> > > > > This posting is provided "AS IS" with no warranties, and confers[/color][/color][/color]
no[color=blue][color=green][color=darkred]
> > > > rights.
> > > > > Use of included script samples are subject to the terms specified[/color][/color][/color]
at[color=blue][color=green][color=darkred]
> > > > >
http://www.microsoft.com/info/cpyright.htm
> > > > >
> > > > >
> > > > > "Jody Gelowitz" <jody@mail.visualstatement.com> wrote in message
> > > > > news:%23mFecRk1DHA.4032@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[/color]
> > called:[color=darkred]
> > > > > >
> > > > > > TextBox1.AppendText("Printing ..." & ControlChars.CrLf)
> > > > > >
> > > > > >
> > > > > >
> > > > > > Thanks,
> > > > > > Jody
> > > > > >
> > > > > > "Ken Tucker [MVP]" <vb2ae@bellsouth.net> wrote in message
> > > > > > news:urXMp2j1DHA.2972@TK2MSFTNGP09.phx.gbl...
> > > > > > > Jody,
> > > > > > >
> > > > > > > I can not access your sample code. Could you please[/color][/color]
> post[color=green]
> > a[color=darkred]
> > > > link
> > > > > > to
> > > > > > > or email me your code.
> > > > > > >
> > > > > > > Ken
> > > > > > > ----------------
> > > > > > > "Jody Gelowitz" <jody@mail.visualstatement.com> wrote in[/color][/color][/color]
message[color=blue][color=green][color=darkred]
> > > > > > > news:uz28bFj1DHA.2388@TK2MSFTNGP09.phx.gbl...
> > > > > > > >I am trying to find the definition of "Safe Printing" and[/color][/color]
> cannot[color=green][color=darkred]
> > > find
> > > > > out
> > > > > > > > exactly what this entitles. The reason is that I am trying[/color][/color][/color]
to[color=blue][color=green][color=darkred]
> > > print
> > > > > > > > contents from a single textbox to no avail using the[/color][/color]
> PrintDialog[color=green][color=darkred]
> > > > > 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,[/color][/color][/color]
I[color=blue][color=green]
> > get[color=darkred]
> > > > an
> > > > > > > > exception (at the end of this message). Any ideas how I can[/color]
> > make[color=darkred]
> > > > this
> > > > > > > > work?
> > > > > > > >
> > > > > > > > Thanks,
> > > > > > > > Jody
> > > > > > > >
> > > > > > > >
> > > > > > > > System.Security.SecurityException: Request for the[/color][/color][/color]
permission[color=blue]
> of[color=green][color=darkred]
> > > > 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[/color]
> > demand,[color=darkred]
> > > > > > > > PermissionToken permToken)
> > > > > > > > at
> > > System.Security.CodeAccessSecurityEngine.Check(Per missionToken
> > > > > > > > permToken, CodeAccessPermission demand, StackCrawlMark&[/color]
> > stackMark,[color=darkred]
> > > > > Int32
> > > > > > > > checkFrames, Int32 unrestrictedOverride)
> > > > > > > > at
> > > > >[/color][/color][/color]
System.Security.CodeAccessSecurityEngine.Check(Cod eAccessPermission[color=blue][color=green][color=darkred]
> > > > > > > > cap, StackCrawlMark& stackMark)
> > > > > > > > at System.Security.CodeAccessPermission.Demand()
> > > > > > > > at[/color][/color]
> System.Drawing.Printing.PrinterSettings.SetHdevmod e(IntPtr[color=green][color=darkred]
> > > > > > hdevmode)
> > > > > > > > at
> > > System.Windows.Forms.PrintDialog.UpdatePrinterSett ings(PRINTDLG
> > > > > > data,
> > > > > > > > PrinterSettings settings, PageSettings pageSettings)
> > > > > > > > at System.Windows.Forms.PrintDialog.RunDialog(IntPtr[/color]
> > hwndOwner)[color=darkred]
> > > > > > > > at System.Windows.Forms.CommonDialog.ShowDialog()
> > > > > > > > at PrintTest.Form1.Button1_Click(Object sender, EventArgs[/color][/color][/color]
e)[color=blue][color=green][color=darkred]
> > > > > > > > at System.Windows.Forms.Control.OnClick(EventArgs e)
> > > > > > > > at System.Windows.Forms.Button.OnClick(EventArgs e)
> > > > > > > > at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs[/color]
> > mevent)[color=darkred]
> > > > > > > > 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[/color][/color]
> System.Windows.Forms.ControlNativeWindow.OnMessage (Message&[color=green][color=darkred]
> > > m)
> > > > > > > > at[/color][/color][/color]
System.Windows.Forms.ControlNativeWindow.WndProc(M essage&[color=blue][color=green]
> > m)[color=darkred]
> > > > > > > > at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd,[/color]
> > Int32[color=darkred]
> > > > > msg,
> > > > > > > > IntPtr wparam, IntPtr lparam)
> > > > > > > >
> > > > > > > >
> > > > > > > > ************** Loaded Assemblies **************
> > > > > > > > mscorlib
> > > > > > > > Assembly Version: 1.0.5000.0
> > > > > > > > Win32 Version: 1.1.4322.573
> > > > > > > > CodeBase:
> > > > > > > >[/color]
> > file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll[color=darkred]
> > > > > > > > ----------------------------------------
> > > > > > > > System.Drawing
> > > > > > > > Assembly Version: 1.0.5000.0
> > > > > > > > Win32 Version: 1.1.4322.573
> > > > > > > > CodeBase:
> > > > > > > >
> > > > > >
> > > > >
> > > >
> > >[/color]
> >[/color]
>[/color]
file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll[color=blue][color=green][color=darkred]
> > > > > > > > ----------------------------------------
> > > > > > > > System
> > > > > > > > Assembly Version: 1.0.5000.0
> > > > > > > > Win32 Version: 1.1.4322.573
> > > > > > > > CodeBase:
> > > > > > > >
> > > > > >
> > > > >
> > > >
> > >[/color]
> >[/color]
>[/color]
file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll[color=blue][color=green][color=darkred]
> > > > > > > > ----------------------------------------
> > > > > > > > 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:
> > > > > > > >
> > > > > >
> > > > >
> > > >
> > >[/color]
> >[/color]
>[/color]
file:///c:/windows/assembly/gac/ieexecremote/1.0.5000.0__b03f5f7f11d50a3a/ieexecremote.dll[color=blue][color=green][color=darkred]
> > > > > > > > ----------------------------------------
> > > > > > > > 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:
> > > > > > > >
> > > > > >
> > > > >
> > > >
> > >[/color]
> >[/color]
>[/color]
file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll[color=blue][color=green][color=darkred]
> > > > > > > > ----------------------------------------
> > > > > > > > System.Xml
> > > > > > > > Assembly Version: 1.0.5000.0
> > > > > > > > Win32 Version: 1.1.4322.573
> > > > > > > > CodeBase:
> > > > > > > >
> > > > > >
> > > > >
> > > >
> > >[/color]
> >[/color]
>[/color]
file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll[color=blue][color=green][color=darkred]
> > > > > > > > ----------------------------------------
> > > > > > > > Microsoft.VisualBasic
> > > > > > > > Assembly Version: 7.0.5000.0
> > > > > > > > Win32 Version: 7.10.3052.4
> > > > > > > > CodeBase:
> > > > > > > >
> > > > > >
> > > > >
> > > >
> > >[/color]
> >[/color]
>[/color]
file:///c:/windows/assembly/gac/microsoft.visualbasic/7.0.5000.0__b03f5f7f11d50a3a/microsoft.visualbasic.dll[color=blue][color=green][color=darkred]
> > > > > > > > ----------------------------------------
> > > > > > > >
> > > > > > > > ************** JIT Debugging **************
> > > > > > > > To enable just in time (JIT) debugging, the config file for[/color][/color]
> this[color=green][color=darkred]
> > > > > > > > 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.
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >
> > >[/color]
> >
> >[/color]
>
>[/color]