Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP .Net Web Controls > Problem Printing using IWebBrowser2 from IWAM Account on Server 2003

Reply
Thread Tools

Problem Printing using IWebBrowser2 from IWAM Account on Server 2003

 
 
ScottLR
Guest
Posts: n/a
 
      09-14-2005
The code below successfully invokes printing from an ASP page.

If I run the code before a user manually logs in as the IWAM account, the
printer selection dialog is unfortunately displayed. If I have logged into
the IWAM account and logged out, then the printer selection dialog does not
display.

I do not want the printer selection dialog to display. Logging into the IWAM
account requires changing the account's password and is not an acceptable
solution. What must be done so that the printer selection dialog is
suppressed without requiring needing to log in as the IWAM account?

VARIANT parameter;
VariantInit(&parameter);
V_VT(&parameter) = VT_ARRAY | VT_BYREF;
V_ARRAY(&parameter) = parameter_array;

// start printing browser contents

hr =
_Browser->ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSE R,&parameter,NULL);


 
Reply With Quote
 
 
 
 
Steven Cheng[MSFT]
Guest
Posts: n/a
 
      09-15-2005
Hi Scott,

Welcome to MSDN newsgroup.
From your description you're using some c++ unmanaged code to do printing
work for a web page. Also, you got some problem when printing, since
there'll occur the print setting dialog sometimes.

As for your problem, I'd like to confirm the following things:

1. Is your printing code running in a activex control or at serverside
through COM component in asp page?

2. If running in ActiveX control, since Activex Control is rich client
component which running at clientside, I think it won't care about the IWAM
account since IWAM account is a serverside account used to running IIS
application.

Please feel free to let me know if there're anything I misunderstand.
Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)



--------------------
| From: "ScottLR" <(E-Mail Removed)>
| Subject: Problem Printing using IWebBrowser2 from IWAM Account on Server
2003
| Date: Wed, 14 Sep 2005 11:02:38 -0700
| Lines: 23
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| X-RFC2646: Format=Flowed; Original
| Message-ID: <(E-Mail Removed)>
| Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
| NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
63.201.229.153
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl
microsoft.public.dotnet.framework.aspnet.webcontro ls:10832
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
|
| The code below successfully invokes printing from an ASP page.
|
| If I run the code before a user manually logs in as the IWAM account, the
| printer selection dialog is unfortunately displayed. If I have logged
into
| the IWAM account and logged out, then the printer selection dialog does
not
| display.
|
| I do not want the printer selection dialog to display. Logging into the
IWAM
| account requires changing the account's password and is not an acceptable
| solution. What must be done so that the printer selection dialog is
| suppressed without requiring needing to log in as the IWAM account?
|
| VARIANT parameter;
| VariantInit(&parameter);
| V_VT(&parameter) = VT_ARRAY | VT_BYREF;
| V_ARRAY(&parameter) = parameter_array;
|
| // start printing browser contents
|
| hr =
|
_Browser->ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSE R,&parameter,NULL
);
|
|
|

 
Reply With Quote
 
 
 
 
ScottLR
Guest
Posts: n/a
 
      09-15-2005
Steven,

1. It is running serverside through a com component in an ASP page.

2. Agreed.

The issue can also be demonstrated as follows:

1. a new account is created on 2003 in the administrators group.

2. The administrator invokes cmd.exe using "run as" with the new account.

3. The code will display the printer selection dialog and prints
successfully.

4. The new account is used to log into 2003 server and logs out.

5. The administrator invokes cmd.exe using "run as" with the new account.

6 The code will NOT display the printer selection dialog and prints
successfully.
--

Thank you,

Scott
Software995 Support

"Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi Scott,
>
> Welcome to MSDN newsgroup.
> From your description you're using some c++ unmanaged code to do printing
> work for a web page. Also, you got some problem when printing, since
> there'll occur the print setting dialog sometimes.
>
> As for your problem, I'd like to confirm the following things:
>
> 1. Is your printing code running in a activex control or at serverside
> through COM component in asp page?
>
> 2. If running in ActiveX control, since Activex Control is rich client
> component which running at clientside, I think it won't care about the
> IWAM
> account since IWAM account is a serverside account used to running IIS
> application.
>
> Please feel free to let me know if there're anything I misunderstand.
> Thanks,
>
> Steven Cheng
> Microsoft Online Support
>
> Get Secure! www.microsoft.com/security
> (This posting is provided "AS IS", with no warranties, and confers no
> rights.)
>
>
>
> --------------------
> | From: "ScottLR" <(E-Mail Removed)>
> | Subject: Problem Printing using IWebBrowser2 from IWAM Account on Server
> 2003
> | Date: Wed, 14 Sep 2005 11:02:38 -0700
> | Lines: 23
> | X-Priority: 3
> | X-MSMail-Priority: Normal
> | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
> | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
> | X-RFC2646: Format=Flowed; Original
> | Message-ID: <(E-Mail Removed)>
> | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
> | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
> 63.201.229.153
> | Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
> | Xref: TK2MSFTNGXA01.phx.gbl
> microsoft.public.dotnet.framework.aspnet.webcontro ls:10832
> | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
> |
> | The code below successfully invokes printing from an ASP page.
> |
> | If I run the code before a user manually logs in as the IWAM account,
> the
> | printer selection dialog is unfortunately displayed. If I have logged
> into
> | the IWAM account and logged out, then the printer selection dialog does
> not
> | display.
> |
> | I do not want the printer selection dialog to display. Logging into the
> IWAM
> | account requires changing the account's password and is not an
> acceptable
> | solution. What must be done so that the printer selection dialog is
> | suppressed without requiring needing to log in as the IWAM account?
> |
> | VARIANT parameter;
> | VariantInit(&parameter);
> | V_VT(&parameter) = VT_ARRAY | VT_BYREF;
> | V_ARRAY(&parameter) = parameter_array;
> |
> | // start printing browser contents
> |
> | hr =
> |
> _Browser->ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSE R,&parameter,NULL
> );
> |
> |
> |
>



 
Reply With Quote
 
Steven Cheng[MSFT]
Guest
Posts: n/a
 
      09-16-2005
Thanks for your response Scott,

OK. So you've used a custom COM component in your asp page(not asp.net
yes?) and try printing in that component, and there'll always occur printer
selection dialog if you haven't interactively logon through that service
account on the server yet ,yes?

One thing I'm still confused is since the ASP's page processing thread
running in a daemon process belonging to a non displayable windows station,
how could you see the Printer selection dialog? It's only possible for us
to see such UI in application running interactively or in a visible windows
station.

Anyway, from the symptom of the issue, I think it's likely due to the
USERPROFILE of your IWAM(or other custom account) account. when we
interactively logon , the certain user/account's User Profile is loaded,
then the Printer selection dialog won't appear. You can try using the
LoadUserProfile win32 API to manually load the userProfile of your
process's account to see whether it helps.

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)


--------------------
| From: "ScottLR" <(E-Mail Removed)>
| References: <(E-Mail Removed)>
<(E-Mail Removed)>
| Subject: Re: Problem Printing using IWebBrowser2 from IWAM Account on
Server 2003
| Date: Thu, 15 Sep 2005 09:41:11 -0700
| Lines: 114
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| X-RFC2646: Format=Flowed; Original
| Message-ID: <#$(E-Mail Removed)>
| Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
| NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
63.201.229.153
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msft ngp13.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl
microsoft.public.dotnet.framework.aspnet.webcontro ls:10848
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
|
| Steven,
|
| 1. It is running serverside through a com component in an ASP page.
|
| 2. Agreed.
|
| The issue can also be demonstrated as follows:
|
| 1. a new account is created on 2003 in the administrators group.
|
| 2. The administrator invokes cmd.exe using "run as" with the new account.
|
| 3. The code will display the printer selection dialog and prints
| successfully.
|
| 4. The new account is used to log into 2003 server and logs out.
|
| 5. The administrator invokes cmd.exe using "run as" with the new account.
|
| 6 The code will NOT display the printer selection dialog and prints
| successfully.
| --
|
| Thank you,
|
| Scott
| Software995 Support
|
| "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
| news:(E-Mail Removed)...
| > Hi Scott,
| >
| > Welcome to MSDN newsgroup.
| > From your description you're using some c++ unmanaged code to do
printing
| > work for a web page. Also, you got some problem when printing, since
| > there'll occur the print setting dialog sometimes.
| >
| > As for your problem, I'd like to confirm the following things:
| >
| > 1. Is your printing code running in a activex control or at serverside
| > through COM component in asp page?
| >
| > 2. If running in ActiveX control, since Activex Control is rich client
| > component which running at clientside, I think it won't care about the
| > IWAM
| > account since IWAM account is a serverside account used to running IIS
| > application.
| >
| > Please feel free to let me know if there're anything I misunderstand.
| > Thanks,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure! www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| >
| >
| >
| > --------------------
| > | From: "ScottLR" <(E-Mail Removed)>
| > | Subject: Problem Printing using IWebBrowser2 from IWAM Account on
Server
| > 2003
| > | Date: Wed, 14 Sep 2005 11:02:38 -0700
| > | Lines: 23
| > | X-Priority: 3
| > | X-MSMail-Priority: Normal
| > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | X-RFC2646: Format=Flowed; Original
| > | Message-ID: <(E-Mail Removed)>
| > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
| > 63.201.229.153
| > | Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
| > | Xref: TK2MSFTNGXA01.phx.gbl
| > microsoft.public.dotnet.framework.aspnet.webcontro ls:10832
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
| > |
| > | The code below successfully invokes printing from an ASP page.
| > |
| > | If I run the code before a user manually logs in as the IWAM account,
| > the
| > | printer selection dialog is unfortunately displayed. If I have logged
| > into
| > | the IWAM account and logged out, then the printer selection dialog
does
| > not
| > | display.
| > |
| > | I do not want the printer selection dialog to display. Logging into
the
| > IWAM
| > | account requires changing the account's password and is not an
| > acceptable
| > | solution. What must be done so that the printer selection dialog is
| > | suppressed without requiring needing to log in as the IWAM account?
| > |
| > | VARIANT parameter;
| > | VariantInit(&parameter);
| > | V_VT(&parameter) = VT_ARRAY | VT_BYREF;
| > | V_ARRAY(&parameter) = parameter_array;
| > |
| > | // start printing browser contents
| > |
| > | hr =
| > |
| >
_Browser->ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSE R,&parameter,NULL
| > );
| > |
| > |
| > |
| >
|
|
|

 
Reply With Quote
 
ScottLR
Guest
Posts: n/a
 
      09-16-2005
Steven,

We do not see the printer selection dialog. However, the process stops. We
know the dialog displays because when performing a "run as" with a user that
has not logged on manually, the printer selection dialog displays.

I am inclined to agree that running LoadUserProfile will solve the issue.
How can I run this for the IWAM account if I do not know its password?


Scott

"Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Thanks for your response Scott,
>
> OK. So you've used a custom COM component in your asp page(not asp.net
> yes?) and try printing in that component, and there'll always occur
> printer
> selection dialog if you haven't interactively logon through that service
> account on the server yet ,yes?
>
> One thing I'm still confused is since the ASP's page processing thread
> running in a daemon process belonging to a non displayable windows
> station,
> how could you see the Printer selection dialog? It's only possible for us
> to see such UI in application running interactively or in a visible
> windows
> station.
>
> Anyway, from the symptom of the issue, I think it's likely due to the
> USERPROFILE of your IWAM(or other custom account) account. when we
> interactively logon , the certain user/account's User Profile is loaded,
> then the Printer selection dialog won't appear. You can try using the
> LoadUserProfile win32 API to manually load the userProfile of your
> process's account to see whether it helps.
>
> Thanks,
>
> Steven Cheng
> Microsoft Online Support
>
> Get Secure! www.microsoft.com/security
> (This posting is provided "AS IS", with no warranties, and confers no
> rights.)
>
>
> --------------------
> | From: "ScottLR" <(E-Mail Removed)>
> | References: <(E-Mail Removed)>
> <(E-Mail Removed)>
> | Subject: Re: Problem Printing using IWebBrowser2 from IWAM Account on
> Server 2003
> | Date: Thu, 15 Sep 2005 09:41:11 -0700
> | Lines: 114
> | X-Priority: 3
> | X-MSMail-Priority: Normal
> | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
> | X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
> | X-RFC2646: Format=Flowed; Original
> | Message-ID: <#$(E-Mail Removed)>
> | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
> | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
> 63.201.229.153
> | Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msft ngp13.phx.gbl
> | Xref: TK2MSFTNGXA01.phx.gbl
> microsoft.public.dotnet.framework.aspnet.webcontro ls:10848
> | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
> |
> | Steven,
> |
> | 1. It is running serverside through a com component in an ASP page.
> |
> | 2. Agreed.
> |
> | The issue can also be demonstrated as follows:
> |
> | 1. a new account is created on 2003 in the administrators group.
> |
> | 2. The administrator invokes cmd.exe using "run as" with the new
> account.
> |
> | 3. The code will display the printer selection dialog and prints
> | successfully.
> |
> | 4. The new account is used to log into 2003 server and logs out.
> |
> | 5. The administrator invokes cmd.exe using "run as" with the new
> account.
> |
> | 6 The code will NOT display the printer selection dialog and prints
> | successfully.
> | --
> |
> | Thank you,
> |
> | Scott
> | Software995 Support
> |
> | "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
> | news:(E-Mail Removed)...
> | > Hi Scott,
> | >
> | > Welcome to MSDN newsgroup.
> | > From your description you're using some c++ unmanaged code to do
> printing
> | > work for a web page. Also, you got some problem when printing, since
> | > there'll occur the print setting dialog sometimes.
> | >
> | > As for your problem, I'd like to confirm the following things:
> | >
> | > 1. Is your printing code running in a activex control or at serverside
> | > through COM component in asp page?
> | >
> | > 2. If running in ActiveX control, since Activex Control is rich client
> | > component which running at clientside, I think it won't care about the
> | > IWAM
> | > account since IWAM account is a serverside account used to running IIS
> | > application.
> | >
> | > Please feel free to let me know if there're anything I misunderstand.
> | > Thanks,
> | >
> | > Steven Cheng
> | > Microsoft Online Support
> | >
> | > Get Secure! www.microsoft.com/security
> | > (This posting is provided "AS IS", with no warranties, and confers no
> | > rights.)
> | >
> | >
> | >
> | > --------------------
> | > | From: "ScottLR" <(E-Mail Removed)>
> | > | Subject: Problem Printing using IWebBrowser2 from IWAM Account on
> Server
> | > 2003
> | > | Date: Wed, 14 Sep 2005 11:02:38 -0700
> | > | Lines: 23
> | > | X-Priority: 3
> | > | X-MSMail-Priority: Normal
> | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
> | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
> | > | X-RFC2646: Format=Flowed; Original
> | > | Message-ID: <(E-Mail Removed)>
> | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
> | > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
> | > 63.201.229.153
> | > | Path:
> TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
> | > | Xref: TK2MSFTNGXA01.phx.gbl
> | > microsoft.public.dotnet.framework.aspnet.webcontro ls:10832
> | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
> | > |
> | > | The code below successfully invokes printing from an ASP page.
> | > |
> | > | If I run the code before a user manually logs in as the IWAM
> account,
> | > the
> | > | printer selection dialog is unfortunately displayed. If I have
> logged
> | > into
> | > | the IWAM account and logged out, then the printer selection dialog
> does
> | > not
> | > | display.
> | > |
> | > | I do not want the printer selection dialog to display. Logging into
> the
> | > IWAM
> | > | account requires changing the account's password and is not an
> | > acceptable
> | > | solution. What must be done so that the printer selection dialog is
> | > | suppressed without requiring needing to log in as the IWAM account?
> | > |
> | > | VARIANT parameter;
> | > | VariantInit(&parameter);
> | > | V_VT(&parameter) = VT_ARRAY | VT_BYREF;
> | > | V_ARRAY(&parameter) = parameter_array;
> | > |
> | > | // start printing browser contents
> | > |
> | > | hr =
> | > |
> | >
> _Browser->ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSE R,&parameter,NULL
> | > );
> | > |
> | > |
> | > |
> | >
> |
> |
> |
>



 
Reply With Quote
 
Steven Cheng[MSFT]
Guest
Posts: n/a
 
      09-19-2005
Hi Scott,

The LoadUserProfile API will take an Handle object as input which represent
of the account's logon session token for which you'd like to load the user
profile.

BOOL LoadUserProfile(
HANDLE hToken,
LPPROFILEINFO lpProfileInfo
);

Also, we can get a Token object from the current running thread or process,
the following WIN32 api just provide such functionality:

BOOL OpenProcessToken(
HANDLE ProcessHandle,
DWORD DesiredAccess,
PHANDLE TokenHandle
);


bool OpenThreadToken(
DWORD dwDesiredAccess,
bool bImpersonate = false,
bool bOpenAsSelf = true,
SECURITY_IMPERSONATION_LEVEL sil = SecurityImpersonation
) throw(...);

Thus, we don't need to manually call logonUser API with cleartext
uesrname/password to establish a logon session/token

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)





--------------------
| From: "ScottLR" <(E-Mail Removed)>
| References: <(E-Mail Removed)>
<(E-Mail Removed)>
<#$(E-Mail Removed)>
<(E-Mail Removed)>
| Subject: Re: Problem Printing using IWebBrowser2 from IWAM Account on
Server 2003
| Date: Fri, 16 Sep 2005 08:48:32 -0700
| Lines: 197
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| X-RFC2646: Format=Flowed; Original
| Message-ID: <(E-Mail Removed)>
| Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
| NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
63.201.229.153
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl
microsoft.public.dotnet.framework.aspnet.webcontro ls:10864
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
|
| Steven,
|
| We do not see the printer selection dialog. However, the process stops.
We
| know the dialog displays because when performing a "run as" with a user
that
| has not logged on manually, the printer selection dialog displays.
|
| I am inclined to agree that running LoadUserProfile will solve the issue.
| How can I run this for the IWAM account if I do not know its password?
|
|
| Scott
|
| "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
| news:(E-Mail Removed)...
| > Thanks for your response Scott,
| >
| > OK. So you've used a custom COM component in your asp page(not asp.net
| > yes?) and try printing in that component, and there'll always occur
| > printer
| > selection dialog if you haven't interactively logon through that service
| > account on the server yet ,yes?
| >
| > One thing I'm still confused is since the ASP's page processing thread
| > running in a daemon process belonging to a non displayable windows
| > station,
| > how could you see the Printer selection dialog? It's only possible for
us
| > to see such UI in application running interactively or in a visible
| > windows
| > station.
| >
| > Anyway, from the symptom of the issue, I think it's likely due to the
| > USERPROFILE of your IWAM(or other custom account) account. when we
| > interactively logon , the certain user/account's User Profile is loaded,
| > then the Printer selection dialog won't appear. You can try using the
| > LoadUserProfile win32 API to manually load the userProfile of your
| > process's account to see whether it helps.
| >
| > Thanks,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure! www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| >
| >
| > --------------------
| > | From: "ScottLR" <(E-Mail Removed)>
| > | References: <(E-Mail Removed)>
| > <(E-Mail Removed)>
| > | Subject: Re: Problem Printing using IWebBrowser2 from IWAM Account on
| > Server 2003
| > | Date: Thu, 15 Sep 2005 09:41:11 -0700
| > | Lines: 114
| > | X-Priority: 3
| > | X-MSMail-Priority: Normal
| > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | X-RFC2646: Format=Flowed; Original
| > | Message-ID: <#$(E-Mail Removed)>
| > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
| > 63.201.229.153
| > | Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msft ngp13.phx.gbl
| > | Xref: TK2MSFTNGXA01.phx.gbl
| > microsoft.public.dotnet.framework.aspnet.webcontro ls:10848
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
| > |
| > | Steven,
| > |
| > | 1. It is running serverside through a com component in an ASP page.
| > |
| > | 2. Agreed.
| > |
| > | The issue can also be demonstrated as follows:
| > |
| > | 1. a new account is created on 2003 in the administrators group.
| > |
| > | 2. The administrator invokes cmd.exe using "run as" with the new
| > account.
| > |
| > | 3. The code will display the printer selection dialog and prints
| > | successfully.
| > |
| > | 4. The new account is used to log into 2003 server and logs out.
| > |
| > | 5. The administrator invokes cmd.exe using "run as" with the new
| > account.
| > |
| > | 6 The code will NOT display the printer selection dialog and prints
| > | successfully.
| > | --
| > |
| > | Thank you,
| > |
| > | Scott
| > | Software995 Support
| > |
| > | "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
| > | news:(E-Mail Removed)...
| > | > Hi Scott,
| > | >
| > | > Welcome to MSDN newsgroup.
| > | > From your description you're using some c++ unmanaged code to do
| > printing
| > | > work for a web page. Also, you got some problem when printing, since
| > | > there'll occur the print setting dialog sometimes.
| > | >
| > | > As for your problem, I'd like to confirm the following things:
| > | >
| > | > 1. Is your printing code running in a activex control or at
serverside
| > | > through COM component in asp page?
| > | >
| > | > 2. If running in ActiveX control, since Activex Control is rich
client
| > | > component which running at clientside, I think it won't care about
the
| > | > IWAM
| > | > account since IWAM account is a serverside account used to running
IIS
| > | > application.
| > | >
| > | > Please feel free to let me know if there're anything I
misunderstand.
| > | > Thanks,
| > | >
| > | > Steven Cheng
| > | > Microsoft Online Support
| > | >
| > | > Get Secure! www.microsoft.com/security
| > | > (This posting is provided "AS IS", with no warranties, and confers
no
| > | > rights.)
| > | >
| > | >
| > | >
| > | > --------------------
| > | > | From: "ScottLR" <(E-Mail Removed)>
| > | > | Subject: Problem Printing using IWebBrowser2 from IWAM Account on
| > Server
| > | > 2003
| > | > | Date: Wed, 14 Sep 2005 11:02:38 -0700
| > | > | Lines: 23
| > | > | X-Priority: 3
| > | > | X-MSMail-Priority: Normal
| > | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | > | X-RFC2646: Format=Flowed; Original
| > | > | Message-ID: <(E-Mail Removed)>
| > | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
| > | > 63.201.229.153
| > | > | Path:
| > TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
| > | > | Xref: TK2MSFTNGXA01.phx.gbl
| > | > microsoft.public.dotnet.framework.aspnet.webcontro ls:10832
| > | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | > |
| > | > | The code below successfully invokes printing from an ASP page.
| > | > |
| > | > | If I run the code before a user manually logs in as the IWAM
| > account,
| > | > the
| > | > | printer selection dialog is unfortunately displayed. If I have
| > logged
| > | > into
| > | > | the IWAM account and logged out, then the printer selection dialog
| > does
| > | > not
| > | > | display.
| > | > |
| > | > | I do not want the printer selection dialog to display. Logging
into
| > the
| > | > IWAM
| > | > | account requires changing the account's password and is not an
| > | > acceptable
| > | > | solution. What must be done so that the printer selection dialog
is
| > | > | suppressed without requiring needing to log in as the IWAM
account?
| > | > |
| > | > | VARIANT parameter;
| > | > | VariantInit(&parameter);
| > | > | V_VT(&parameter) = VT_ARRAY | VT_BYREF;
| > | > | V_ARRAY(&parameter) = parameter_array;
| > | > |
| > | > | // start printing browser contents
| > | > |
| > | > | hr =
| > | > |
| > | >
| >
_Browser->ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSE R,&parameter,NULL
| > | > );
| > | > |
| > | > |
| > | > |
| > | >
| > |
| > |
| > |
| >
|
|
|

 
Reply With Quote
 
ScottLR
Guest
Posts: n/a
 
      09-19-2005
Hi Steven,

LoadUserProfile does not appear to help. I am testing as follows:

> | > | 1. a new account is created on 2003 in the ADMINISTRATORS group.
> | > |
> | > | 2. The administrator invokes cmd.exe using "run as" with the new
> | > account.
> | > |
> | > | 3. The code will display the printer selection dialog and prints
> | > | successfully.
> | > |
> | > | 4. The new account is used to log into 2003 server and logs out.
> | > |
> | > | 5. The administrator invokes cmd.exe using "run as" with the new
> | > account.
> | > |
> | > | 6 The code will NOT display the printer selection dialog and prints
> | > | successfully.


I am successfully calling LoadUserProfile and then UnLoadUserProfile in the
process before attempting to print. The calls succeed. However, it still
fails to suppress the printer selection dialog., even if I try it again
afterwards. It appears, that something other than running LoadUserProfile
may be necessary to suppress the printer selection dialog when the
Webbrowser control is invoked from a process owned by a user who has not
logged on via control alt delete. Again, if I log in using control alt
delete, then the printer selection dialog does not display.

This is the code I am running to call LoadUserProfile. There do not appear
to be errors.

PROFILEINFO profileInfo;

ZeroMemory( &profileInfo, sizeof(profileInfo) );
profileInfo.dwSize = sizeof(profileInfo);


//memset(&profileInfo, 0, sizeof(PROFILEINFO));
//profileInfo.dwSize = sizeof(PROFILEINFO);

//strcpy(profileInfo.lpUserName, szUserName);
profileInfo.lpUserName = szUserName;
// profileInfo.lpUserName = "CVC";
profileInfo.dwFlags = PI_NOUI;

BOOL ret;

try
{
ret = LoadUserProfile(
hToken,
&profileInfo
);
}
catch(...)
{
DWORD err = GetLastError();
return FALSE;
}

if (ret == 0)
{
DWORD err = GetLastError();
int a = 1;
AfxMessageBox("failed");

}

// Unload the profile when it is no longer needed
if ( !UnloadUserProfile(
hToken, // token for the user
profileInfo.hProfile ) ) { // registry key handle
GetLastError();
}

--

Thank you,

Scott

"Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi Scott,
>
> The LoadUserProfile API will take an Handle object as input which
> represent
> of the account's logon session token for which you'd like to load the user
> profile.
>
> BOOL LoadUserProfile(
> HANDLE hToken,
> LPPROFILEINFO lpProfileInfo
> );
>
> Also, we can get a Token object from the current running thread or
> process,
> the following WIN32 api just provide such functionality:
>
> BOOL OpenProcessToken(
> HANDLE ProcessHandle,
> DWORD DesiredAccess,
> PHANDLE TokenHandle
> );
>
>
> bool OpenThreadToken(
> DWORD dwDesiredAccess,
> bool bImpersonate = false,
> bool bOpenAsSelf = true,
> SECURITY_IMPERSONATION_LEVEL sil = SecurityImpersonation
> ) throw(...);
>
> Thus, we don't need to manually call logonUser API with cleartext
> uesrname/password to establish a logon session/token
>
> Thanks,
>
> Steven Cheng
> Microsoft Online Support
>
> Get Secure! www.microsoft.com/security
> (This posting is provided "AS IS", with no warranties, and confers no
> rights.)
>
>
>
>
>
> --------------------
> | From: "ScottLR" <(E-Mail Removed)>
> | References: <(E-Mail Removed)>
> <(E-Mail Removed)>
> <#$(E-Mail Removed)>
> <(E-Mail Removed)>
> | Subject: Re: Problem Printing using IWebBrowser2 from IWAM Account on
> Server 2003
> | Date: Fri, 16 Sep 2005 08:48:32 -0700
> | Lines: 197
> | X-Priority: 3
> | X-MSMail-Priority: Normal
> | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
> | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
> | X-RFC2646: Format=Flowed; Original
> | Message-ID: <(E-Mail Removed)>
> | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
> | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
> 63.201.229.153
> | Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
> | Xref: TK2MSFTNGXA01.phx.gbl
> microsoft.public.dotnet.framework.aspnet.webcontro ls:10864
> | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
> |
> | Steven,
> |
> | We do not see the printer selection dialog. However, the process stops.
> We
> | know the dialog displays because when performing a "run as" with a user
> that
> | has not logged on manually, the printer selection dialog displays.
> |
> | I am inclined to agree that running LoadUserProfile will solve the
> issue.
> | How can I run this for the IWAM account if I do not know its password?
> |
> |
> | Scott
> |
> | "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
> | news:(E-Mail Removed)...
> | > Thanks for your response Scott,
> | >
> | > OK. So you've used a custom COM component in your asp page(not asp.net
> | > yes?) and try printing in that component, and there'll always occur
> | > printer
> | > selection dialog if you haven't interactively logon through that
> service
> | > account on the server yet ,yes?
> | >
> | > One thing I'm still confused is since the ASP's page processing thread
> | > running in a daemon process belonging to a non displayable windows
> | > station,
> | > how could you see the Printer selection dialog? It's only possible for
> us
> | > to see such UI in application running interactively or in a visible
> | > windows
> | > station.
> | >
> | > Anyway, from the symptom of the issue, I think it's likely due to the
> | > USERPROFILE of your IWAM(or other custom account) account. when we
> | > interactively logon , the certain user/account's User Profile is
> loaded,
> | > then the Printer selection dialog won't appear. You can try using the
> | > LoadUserProfile win32 API to manually load the userProfile of your
> | > process's account to see whether it helps.
> | >
> | > Thanks,
> | >
> | > Steven Cheng
> | > Microsoft Online Support
> | >
> | > Get Secure! www.microsoft.com/security
> | > (This posting is provided "AS IS", with no warranties, and confers no
> | > rights.)
> | >
> | >
> | > --------------------
> | > | From: "ScottLR" <(E-Mail Removed)>
> | > | References: <(E-Mail Removed)>
> | > <(E-Mail Removed)>
> | > | Subject: Re: Problem Printing using IWebBrowser2 from IWAM Account
> on
> | > Server 2003
> | > | Date: Thu, 15 Sep 2005 09:41:11 -0700
> | > | Lines: 114
> | > | X-Priority: 3
> | > | X-MSMail-Priority: Normal
> | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
> | > | X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
> | > | X-RFC2646: Format=Flowed; Original
> | > | Message-ID: <#$(E-Mail Removed)>
> | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
> | > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
> | > 63.201.229.153
> | > | Path:
> TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msft ngp13.phx.gbl
> | > | Xref: TK2MSFTNGXA01.phx.gbl
> | > microsoft.public.dotnet.framework.aspnet.webcontro ls:10848
> | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
> | > |
> | > | Steven,
> | > |
> | > | 1. It is running serverside through a com component in an ASP page.
> | > |
> | > | 2. Agreed.
> | > |
> | > | The issue can also be demonstrated as follows:
> | > |
> | > | 1. a new account is created on 2003 in the administrators group.
> | > |
> | > | 2. The administrator invokes cmd.exe using "run as" with the new
> | > account.
> | > |
> | > | 3. The code will display the printer selection dialog and prints
> | > | successfully.
> | > |
> | > | 4. The new account is used to log into 2003 server and logs out.
> | > |
> | > | 5. The administrator invokes cmd.exe using "run as" with the new
> | > account.
> | > |
> | > | 6 The code will NOT display the printer selection dialog and prints
> | > | successfully.
> | > | --
> | > |
> | > | Thank you,
> | > |
> | > | Scott
> | > | Software995 Support
> | > |
> | > | "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
> | > | news:(E-Mail Removed)...
> | > | > Hi Scott,
> | > | >
> | > | > Welcome to MSDN newsgroup.
> | > | > From your description you're using some c++ unmanaged code to do
> | > printing
> | > | > work for a web page. Also, you got some problem when printing,
> since
> | > | > there'll occur the print setting dialog sometimes.
> | > | >
> | > | > As for your problem, I'd like to confirm the following things:
> | > | >
> | > | > 1. Is your printing code running in a activex control or at
> serverside
> | > | > through COM component in asp page?
> | > | >
> | > | > 2. If running in ActiveX control, since Activex Control is rich
> client
> | > | > component which running at clientside, I think it won't care about
> the
> | > | > IWAM
> | > | > account since IWAM account is a serverside account used to running
> IIS
> | > | > application.
> | > | >
> | > | > Please feel free to let me know if there're anything I
> misunderstand.
> | > | > Thanks,
> | > | >
> | > | > Steven Cheng
> | > | > Microsoft Online Support
> | > | >
> | > | > Get Secure! www.microsoft.com/security
> | > | > (This posting is provided "AS IS", with no warranties, and confers
> no
> | > | > rights.)
> | > | >
> | > | >
> | > | >
> | > | > --------------------
> | > | > | From: "ScottLR" <(E-Mail Removed)>
> | > | > | Subject: Problem Printing using IWebBrowser2 from IWAM Account
> on
> | > Server
> | > | > 2003
> | > | > | Date: Wed, 14 Sep 2005 11:02:38 -0700
> | > | > | Lines: 23
> | > | > | X-Priority: 3
> | > | > | X-MSMail-Priority: Normal
> | > | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
> | > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
> | > | > | X-RFC2646: Format=Flowed; Original
> | > | > | Message-ID: <(E-Mail Removed)>
> | > | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
> | > | > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
> | > | > 63.201.229.153
> | > | > | Path:
> | > TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
> | > | > | Xref: TK2MSFTNGXA01.phx.gbl
> | > | > microsoft.public.dotnet.framework.aspnet.webcontro ls:10832
> | > | > | X-Tomcat-NG:
> microsoft.public.dotnet.framework.aspnet.webcontro ls
> | > | > |
> | > | > | The code below successfully invokes printing from an ASP page.
> | > | > |
> | > | > | If I run the code before a user manually logs in as the IWAM
> | > account,
> | > | > the
> | > | > | printer selection dialog is unfortunately displayed. If I have
> | > logged
> | > | > into
> | > | > | the IWAM account and logged out, then the printer selection
> dialog
> | > does
> | > | > not
> | > | > | display.
> | > | > |
> | > | > | I do not want the printer selection dialog to display. Logging
> into
> | > the
> | > | > IWAM
> | > | > | account requires changing the account's password and is not an
> | > | > acceptable
> | > | > | solution. What must be done so that the printer selection dialog
> is
> | > | > | suppressed without requiring needing to log in as the IWAM
> account?
> | > | > |
> | > | > | VARIANT parameter;
> | > | > | VariantInit(&parameter);
> | > | > | V_VT(&parameter) = VT_ARRAY | VT_BYREF;
> | > | > | V_ARRAY(&parameter) = parameter_array;
> | > | > |
> | > | > | // start printing browser contents
> | > | > |
> | > | > | hr =
> | > | > |
> | > | >
> | >
> _Browser->ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSE R,&parameter,NULL
> | > | > );
> | > | > |
> | > | > |
> | > | > |
> | > | >
> | > |
> | > |
> | > |
> | >
> |
> |
> |
>



 
Reply With Quote
 
Steven Cheng[MSFT]
Guest
Posts: n/a
 
      09-20-2005
Thanks Scott for you further followup.

OK. Seems the problem is concerned with something else in the serverside
printing. In my reviewing this thread, I saw that you've manually construct
a webbrowser component in your COM component's printing. Do you think it
convenient that you provide me a simple reproduce version of your COM
component or just the code that your construct the WEBbrowser control ,
navigate a certain page and printing? I'd like to perform some local tests
on it.

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
| From: "ScottLR" <(E-Mail Removed)>
| References: <(E-Mail Removed)>
<(E-Mail Removed)>
<#$(E-Mail Removed)>
<(E-Mail Removed)>
<(E-Mail Removed)>
<(E-Mail Removed)>
| Subject: Re: Problem Printing using IWebBrowser2 from IWAM Account on
Server 2003
| Date: Mon, 19 Sep 2005 15:34:11 -0700
| Lines: 377
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| X-RFC2646: Format=Flowed; Original
| Message-ID: <(E-Mail Removed)>
| Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
| NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
63.201.229.153
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msft ngp13.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl
microsoft.public.dotnet.framework.aspnet.webcontro ls:10912
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
|
| Hi Steven,
|
| LoadUserProfile does not appear to help. I am testing as follows:
|
| > | > | 1. a new account is created on 2003 in the ADMINISTRATORS group.
| > | > |
| > | > | 2. The administrator invokes cmd.exe using "run as" with the new
| > | > account.
| > | > |
| > | > | 3. The code will display the printer selection dialog and prints
| > | > | successfully.
| > | > |
| > | > | 4. The new account is used to log into 2003 server and logs out.
| > | > |
| > | > | 5. The administrator invokes cmd.exe using "run as" with the new
| > | > account.
| > | > |
| > | > | 6 The code will NOT display the printer selection dialog and
prints
| > | > | successfully.
|
| I am successfully calling LoadUserProfile and then UnLoadUserProfile in
the
| process before attempting to print. The calls succeed. However, it still
| fails to suppress the printer selection dialog., even if I try it again
| afterwards. It appears, that something other than running LoadUserProfile
| may be necessary to suppress the printer selection dialog when the
| Webbrowser control is invoked from a process owned by a user who has not
| logged on via control alt delete. Again, if I log in using control alt
| delete, then the printer selection dialog does not display.
|
| This is the code I am running to call LoadUserProfile. There do not
appear
| to be errors.
|
| PROFILEINFO profileInfo;
|
| ZeroMemory( &profileInfo, sizeof(profileInfo) );
| profileInfo.dwSize = sizeof(profileInfo);
|
|
| //memset(&profileInfo, 0, sizeof(PROFILEINFO));
| //profileInfo.dwSize = sizeof(PROFILEINFO);
|
| //strcpy(profileInfo.lpUserName, szUserName);
| profileInfo.lpUserName = szUserName;
| // profileInfo.lpUserName = "CVC";
| profileInfo.dwFlags = PI_NOUI;
|
| BOOL ret;
|
| try
| {
| ret = LoadUserProfile(
| hToken,
| &profileInfo
| );
| }
| catch(...)
| {
| DWORD err = GetLastError();
| return FALSE;
| }
|
| if (ret == 0)
| {
| DWORD err = GetLastError();
| int a = 1;
| AfxMessageBox("failed");
|
| }
|
| // Unload the profile when it is no longer needed
| if ( !UnloadUserProfile(
| hToken, // token for the user
| profileInfo.hProfile ) ) { // registry key handle
| GetLastError();
| }
|
| --
|
| Thank you,
|
| Scott
|
| "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
| news:(E-Mail Removed)...
| > Hi Scott,
| >
| > The LoadUserProfile API will take an Handle object as input which
| > represent
| > of the account's logon session token for which you'd like to load the
user
| > profile.
| >
| > BOOL LoadUserProfile(
| > HANDLE hToken,
| > LPPROFILEINFO lpProfileInfo
| > );
| >
| > Also, we can get a Token object from the current running thread or
| > process,
| > the following WIN32 api just provide such functionality:
| >
| > BOOL OpenProcessToken(
| > HANDLE ProcessHandle,
| > DWORD DesiredAccess,
| > PHANDLE TokenHandle
| > );
| >
| >
| > bool OpenThreadToken(
| > DWORD dwDesiredAccess,
| > bool bImpersonate = false,
| > bool bOpenAsSelf = true,
| > SECURITY_IMPERSONATION_LEVEL sil = SecurityImpersonation
| > ) throw(...);
| >
| > Thus, we don't need to manually call logonUser API with cleartext
| > uesrname/password to establish a logon session/token
| >
| > Thanks,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure! www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| >
| >
| >
| >
| >
| > --------------------
| > | From: "ScottLR" <(E-Mail Removed)>
| > | References: <(E-Mail Removed)>
| > <(E-Mail Removed)>
| > <#$(E-Mail Removed)>
| > <(E-Mail Removed)>
| > | Subject: Re: Problem Printing using IWebBrowser2 from IWAM Account on
| > Server 2003
| > | Date: Fri, 16 Sep 2005 08:48:32 -0700
| > | Lines: 197
| > | X-Priority: 3
| > | X-MSMail-Priority: Normal
| > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | X-RFC2646: Format=Flowed; Original
| > | Message-ID: <(E-Mail Removed)>
| > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
| > 63.201.229.153
| > | Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
| > | Xref: TK2MSFTNGXA01.phx.gbl
| > microsoft.public.dotnet.framework.aspnet.webcontro ls:10864
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
| > |
| > | Steven,
| > |
| > | We do not see the printer selection dialog. However, the process
stops.
| > We
| > | know the dialog displays because when performing a "run as" with a
user
| > that
| > | has not logged on manually, the printer selection dialog displays.
| > |
| > | I am inclined to agree that running LoadUserProfile will solve the
| > issue.
| > | How can I run this for the IWAM account if I do not know its password?
| > |
| > |
| > | Scott
| > |
| > | "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
| > | news:(E-Mail Removed)...
| > | > Thanks for your response Scott,
| > | >
| > | > OK. So you've used a custom COM component in your asp page(not
asp.net
| > | > yes?) and try printing in that component, and there'll always occur
| > | > printer
| > | > selection dialog if you haven't interactively logon through that
| > service
| > | > account on the server yet ,yes?
| > | >
| > | > One thing I'm still confused is since the ASP's page processing
thread
| > | > running in a daemon process belonging to a non displayable windows
| > | > station,
| > | > how could you see the Printer selection dialog? It's only possible
for
| > us
| > | > to see such UI in application running interactively or in a visible
| > | > windows
| > | > station.
| > | >
| > | > Anyway, from the symptom of the issue, I think it's likely due to
the
| > | > USERPROFILE of your IWAM(or other custom account) account. when we
| > | > interactively logon , the certain user/account's User Profile is
| > loaded,
| > | > then the Printer selection dialog won't appear. You can try using
the
| > | > LoadUserProfile win32 API to manually load the userProfile of your
| > | > process's account to see whether it helps.
| > | >
| > | > Thanks,
| > | >
| > | > Steven Cheng
| > | > Microsoft Online Support
| > | >
| > | > Get Secure! www.microsoft.com/security
| > | > (This posting is provided "AS IS", with no warranties, and confers
no
| > | > rights.)
| > | >
| > | >
| > | > --------------------
| > | > | From: "ScottLR" <(E-Mail Removed)>
| > | > | References: <(E-Mail Removed)>
| > | > <(E-Mail Removed)>
| > | > | Subject: Re: Problem Printing using IWebBrowser2 from IWAM
Account
| > on
| > | > Server 2003
| > | > | Date: Thu, 15 Sep 2005 09:41:11 -0700
| > | > | Lines: 114
| > | > | X-Priority: 3
| > | > | X-MSMail-Priority: Normal
| > | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | > | X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | > | X-RFC2646: Format=Flowed; Original
| > | > | Message-ID: <#$(E-Mail Removed)>
| > | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
| > | > 63.201.229.153
| > | > | Path:
| > TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msft ngp13.phx.gbl
| > | > | Xref: TK2MSFTNGXA01.phx.gbl
| > | > microsoft.public.dotnet.framework.aspnet.webcontro ls:10848
| > | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | > |
| > | > | Steven,
| > | > |
| > | > | 1. It is running serverside through a com component in an ASP
page.
| > | > |
| > | > | 2. Agreed.
| > | > |
| > | > | The issue can also be demonstrated as follows:
| > | > |
| > | > | 1. a new account is created on 2003 in the administrators group.
| > | > |
| > | > | 2. The administrator invokes cmd.exe using "run as" with the new
| > | > account.
| > | > |
| > | > | 3. The code will display the printer selection dialog and prints
| > | > | successfully.
| > | > |
| > | > | 4. The new account is used to log into 2003 server and logs out.
| > | > |
| > | > | 5. The administrator invokes cmd.exe using "run as" with the new
| > | > account.
| > | > |
| > | > | 6 The code will NOT display the printer selection dialog and
prints
| > | > | successfully.
| > | > | --
| > | > |
| > | > | Thank you,
| > | > |
| > | > | Scott
| > | > | Software995 Support
| > | > |
| > | > | "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in
message
| > | > | news:(E-Mail Removed)...
| > | > | > Hi Scott,
| > | > | >
| > | > | > Welcome to MSDN newsgroup.
| > | > | > From your description you're using some c++ unmanaged code to do
| > | > printing
| > | > | > work for a web page. Also, you got some problem when printing,
| > since
| > | > | > there'll occur the print setting dialog sometimes.
| > | > | >
| > | > | > As for your problem, I'd like to confirm the following things:
| > | > | >
| > | > | > 1. Is your printing code running in a activex control or at
| > serverside
| > | > | > through COM component in asp page?
| > | > | >
| > | > | > 2. If running in ActiveX control, since Activex Control is rich
| > client
| > | > | > component which running at clientside, I think it won't care
about
| > the
| > | > | > IWAM
| > | > | > account since IWAM account is a serverside account used to
running
| > IIS
| > | > | > application.
| > | > | >
| > | > | > Please feel free to let me know if there're anything I
| > misunderstand.
| > | > | > Thanks,
| > | > | >
| > | > | > Steven Cheng
| > | > | > Microsoft Online Support
| > | > | >
| > | > | > Get Secure! www.microsoft.com/security
| > | > | > (This posting is provided "AS IS", with no warranties, and
confers
| > no
| > | > | > rights.)
| > | > | >
| > | > | >
| > | > | >
| > | > | > --------------------
| > | > | > | From: "ScottLR" <(E-Mail Removed)>
| > | > | > | Subject: Problem Printing using IWebBrowser2 from IWAM
Account
| > on
| > | > Server
| > | > | > 2003
| > | > | > | Date: Wed, 14 Sep 2005 11:02:38 -0700
| > | > | > | Lines: 23
| > | > | > | X-Priority: 3
| > | > | > | X-MSMail-Priority: Normal
| > | > | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | > | > | X-RFC2646: Format=Flowed; Original
| > | > | > | Message-ID: <(E-Mail Removed)>
| > | > | > | Newsgroups:
microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | > | > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
| > | > | > 63.201.229.153
| > | > | > | Path:
| > | > TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
| > | > | > | Xref: TK2MSFTNGXA01.phx.gbl
| > | > | > microsoft.public.dotnet.framework.aspnet.webcontro ls:10832
| > | > | > | X-Tomcat-NG:
| > microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | > | > |
| > | > | > | The code below successfully invokes printing from an ASP page.
| > | > | > |
| > | > | > | If I run the code before a user manually logs in as the IWAM
| > | > account,
| > | > | > the
| > | > | > | printer selection dialog is unfortunately displayed. If I have
| > | > logged
| > | > | > into
| > | > | > | the IWAM account and logged out, then the printer selection
| > dialog
| > | > does
| > | > | > not
| > | > | > | display.
| > | > | > |
| > | > | > | I do not want the printer selection dialog to display. Logging
| > into
| > | > the
| > | > | > IWAM
| > | > | > | account requires changing the account's password and is not an
| > | > | > acceptable
| > | > | > | solution. What must be done so that the printer selection
dialog
| > is
| > | > | > | suppressed without requiring needing to log in as the IWAM
| > account?
| > | > | > |
| > | > | > | VARIANT parameter;
| > | > | > | VariantInit(&parameter);
| > | > | > | V_VT(&parameter) = VT_ARRAY | VT_BYREF;
| > | > | > | V_ARRAY(&parameter) = parameter_array;
| > | > | > |
| > | > | > | // start printing browser contents
| > | > | > |
| > | > | > | hr =
| > | > | > |
| > | > | >
| > | >
| >
_Browser->ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSE R,&parameter,NULL
| > | > | > );
| > | > | > |
| > | > | > |
| > | > | > |
| > | > | >
| > | > |
| > | > |
| > | > |
| > | >
| > |
| > |
| > |
| >
|
|
|

 
Reply With Quote
 
ScottLR
Guest
Posts: n/a
 
      09-20-2005
Steven,

I have determined the problem is that there is no default printer. The api
call SetDefaultPrinter fails until the user has logged on with
control-alt-delete. Try creating a user, do a run as to start notepad.
Select print. You will not be able to specify a default printer.

Thank you for your help.

-Scott

"Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Thanks Scott for you further followup.
>
> OK. Seems the problem is concerned with something else in the serverside
> printing. In my reviewing this thread, I saw that you've manually
> construct
> a webbrowser component in your COM component's printing. Do you think it
> convenient that you provide me a simple reproduce version of your COM
> component or just the code that your construct the WEBbrowser control ,
> navigate a certain page and printing? I'd like to perform some local tests
> on it.
>
> Thanks,
>
> Steven Cheng
> Microsoft Online Support
>
> Get Secure! www.microsoft.com/security
> (This posting is provided "AS IS", with no warranties, and confers no
> rights.)
> --------------------
> | From: "ScottLR" <(E-Mail Removed)>
> | References: <(E-Mail Removed)>
> <(E-Mail Removed)>
> <#$(E-Mail Removed)>
> <(E-Mail Removed)>
> <(E-Mail Removed)>
> <(E-Mail Removed)>
> | Subject: Re: Problem Printing using IWebBrowser2 from IWAM Account on
> Server 2003
> | Date: Mon, 19 Sep 2005 15:34:11 -0700
> | Lines: 377
> | X-Priority: 3
> | X-MSMail-Priority: Normal
> | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
> | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
> | X-RFC2646: Format=Flowed; Original
> | Message-ID: <(E-Mail Removed)>
> | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
> | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
> 63.201.229.153
> | Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msft ngp13.phx.gbl
> | Xref: TK2MSFTNGXA01.phx.gbl
> microsoft.public.dotnet.framework.aspnet.webcontro ls:10912
> | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
> |
> | Hi Steven,
> |
> | LoadUserProfile does not appear to help. I am testing as follows:
> |
> | > | > | 1. a new account is created on 2003 in the ADMINISTRATORS group.
> | > | > |
> | > | > | 2. The administrator invokes cmd.exe using "run as" with the new
> | > | > account.
> | > | > |
> | > | > | 3. The code will display the printer selection dialog and prints
> | > | > | successfully.
> | > | > |
> | > | > | 4. The new account is used to log into 2003 server and logs out.
> | > | > |
> | > | > | 5. The administrator invokes cmd.exe using "run as" with the new
> | > | > account.
> | > | > |
> | > | > | 6 The code will NOT display the printer selection dialog and
> prints
> | > | > | successfully.
> |
> | I am successfully calling LoadUserProfile and then UnLoadUserProfile in
> the
> | process before attempting to print. The calls succeed. However, it still
> | fails to suppress the printer selection dialog., even if I try it again
> | afterwards. It appears, that something other than running
> LoadUserProfile
> | may be necessary to suppress the printer selection dialog when the
> | Webbrowser control is invoked from a process owned by a user who has not
> | logged on via control alt delete. Again, if I log in using control alt
> | delete, then the printer selection dialog does not display.
> |
> | This is the code I am running to call LoadUserProfile. There do not
> appear
> | to be errors.
> |
> | PROFILEINFO profileInfo;
> |
> | ZeroMemory( &profileInfo, sizeof(profileInfo) );
> | profileInfo.dwSize = sizeof(profileInfo);
> |
> |
> | //memset(&profileInfo, 0, sizeof(PROFILEINFO));
> | //profileInfo.dwSize = sizeof(PROFILEINFO);
> |
> | //strcpy(profileInfo.lpUserName, szUserName);
> | profileInfo.lpUserName = szUserName;
> | // profileInfo.lpUserName = "CVC";
> | profileInfo.dwFlags = PI_NOUI;
> |
> | BOOL ret;
> |
> | try
> | {
> | ret = LoadUserProfile(
> | hToken,
> | &profileInfo
> | );
> | }
> | catch(...)
> | {
> | DWORD err = GetLastError();
> | return FALSE;
> | }
> |
> | if (ret == 0)
> | {
> | DWORD err = GetLastError();
> | int a = 1;
> | AfxMessageBox("failed");
> |
> | }
> |
> | // Unload the profile when it is no longer needed
> | if ( !UnloadUserProfile(
> | hToken, // token for the user
> | profileInfo.hProfile ) ) { // registry key handle
> | GetLastError();
> | }
> |
> | --
> |
> | Thank you,
> |
> | Scott
> |
> | "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
> | news:(E-Mail Removed)...
> | > Hi Scott,
> | >
> | > The LoadUserProfile API will take an Handle object as input which
> | > represent
> | > of the account's logon session token for which you'd like to load the
> user
> | > profile.
> | >
> | > BOOL LoadUserProfile(
> | > HANDLE hToken,
> | > LPPROFILEINFO lpProfileInfo
> | > );
> | >
> | > Also, we can get a Token object from the current running thread or
> | > process,
> | > the following WIN32 api just provide such functionality:
> | >
> | > BOOL OpenProcessToken(
> | > HANDLE ProcessHandle,
> | > DWORD DesiredAccess,
> | > PHANDLE TokenHandle
> | > );
> | >
> | >
> | > bool OpenThreadToken(
> | > DWORD dwDesiredAccess,
> | > bool bImpersonate = false,
> | > bool bOpenAsSelf = true,
> | > SECURITY_IMPERSONATION_LEVEL sil = SecurityImpersonation
> | > ) throw(...);
> | >
> | > Thus, we don't need to manually call logonUser API with cleartext
> | > uesrname/password to establish a logon session/token
> | >
> | > Thanks,
> | >
> | > Steven Cheng
> | > Microsoft Online Support
> | >
> | > Get Secure! www.microsoft.com/security
> | > (This posting is provided "AS IS", with no warranties, and confers no
> | > rights.)
> | >
> | >
> | >
> | >
> | >
> | > --------------------
> | > | From: "ScottLR" <(E-Mail Removed)>
> | > | References: <(E-Mail Removed)>
> | > <(E-Mail Removed)>
> | > <#$(E-Mail Removed)>
> | > <(E-Mail Removed)>
> | > | Subject: Re: Problem Printing using IWebBrowser2 from IWAM Account
> on
> | > Server 2003
> | > | Date: Fri, 16 Sep 2005 08:48:32 -0700
> | > | Lines: 197
> | > | X-Priority: 3
> | > | X-MSMail-Priority: Normal
> | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
> | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
> | > | X-RFC2646: Format=Flowed; Original
> | > | Message-ID: <(E-Mail Removed)>
> | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
> | > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
> | > 63.201.229.153
> | > | Path:
> TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
> | > | Xref: TK2MSFTNGXA01.phx.gbl
> | > microsoft.public.dotnet.framework.aspnet.webcontro ls:10864
> | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
> | > |
> | > | Steven,
> | > |
> | > | We do not see the printer selection dialog. However, the process
> stops.
> | > We
> | > | know the dialog displays because when performing a "run as" with a
> user
> | > that
> | > | has not logged on manually, the printer selection dialog displays.
> | > |
> | > | I am inclined to agree that running LoadUserProfile will solve the
> | > issue.
> | > | How can I run this for the IWAM account if I do not know its
> password?
> | > |
> | > |
> | > | Scott
> | > |
> | > | "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
> | > | news:(E-Mail Removed)...
> | > | > Thanks for your response Scott,
> | > | >
> | > | > OK. So you've used a custom COM component in your asp page(not
> asp.net
> | > | > yes?) and try printing in that component, and there'll always
> occur
> | > | > printer
> | > | > selection dialog if you haven't interactively logon through that
> | > service
> | > | > account on the server yet ,yes?
> | > | >
> | > | > One thing I'm still confused is since the ASP's page processing
> thread
> | > | > running in a daemon process belonging to a non displayable windows
> | > | > station,
> | > | > how could you see the Printer selection dialog? It's only possible
> for
> | > us
> | > | > to see such UI in application running interactively or in a
> visible
> | > | > windows
> | > | > station.
> | > | >
> | > | > Anyway, from the symptom of the issue, I think it's likely due to
> the
> | > | > USERPROFILE of your IWAM(or other custom account) account. when we
> | > | > interactively logon , the certain user/account's User Profile is
> | > loaded,
> | > | > then the Printer selection dialog won't appear. You can try using
> the
> | > | > LoadUserProfile win32 API to manually load the userProfile of your
> | > | > process's account to see whether it helps.
> | > | >
> | > | > Thanks,
> | > | >
> | > | > Steven Cheng
> | > | > Microsoft Online Support
> | > | >
> | > | > Get Secure! www.microsoft.com/security
> | > | > (This posting is provided "AS IS", with no warranties, and confers
> no
> | > | > rights.)
> | > | >
> | > | >
> | > | > --------------------
> | > | > | From: "ScottLR" <(E-Mail Removed)>
> | > | > | References: <(E-Mail Removed)>
> | > | > <(E-Mail Removed)>
> | > | > | Subject: Re: Problem Printing using IWebBrowser2 from IWAM
> Account
> | > on
> | > | > Server 2003
> | > | > | Date: Thu, 15 Sep 2005 09:41:11 -0700
> | > | > | Lines: 114
> | > | > | X-Priority: 3
> | > | > | X-MSMail-Priority: Normal
> | > | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
> | > | > | X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
> | > | > | X-RFC2646: Format=Flowed; Original
> | > | > | Message-ID: <#$(E-Mail Removed)>
> | > | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
> | > | > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
> | > | > 63.201.229.153
> | > | > | Path:
> | > TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msft ngp13.phx.gbl
> | > | > | Xref: TK2MSFTNGXA01.phx.gbl
> | > | > microsoft.public.dotnet.framework.aspnet.webcontro ls:10848
> | > | > | X-Tomcat-NG:
> microsoft.public.dotnet.framework.aspnet.webcontro ls
> | > | > |
> | > | > | Steven,
> | > | > |
> | > | > | 1. It is running serverside through a com component in an ASP
> page.
> | > | > |
> | > | > | 2. Agreed.
> | > | > |
> | > | > | The issue can also be demonstrated as follows:
> | > | > |
> | > | > | 1. a new account is created on 2003 in the administrators group.
> | > | > |
> | > | > | 2. The administrator invokes cmd.exe using "run as" with the new
> | > | > account.
> | > | > |
> | > | > | 3. The code will display the printer selection dialog and prints
> | > | > | successfully.
> | > | > |
> | > | > | 4. The new account is used to log into 2003 server and logs out.
> | > | > |
> | > | > | 5. The administrator invokes cmd.exe using "run as" with the new
> | > | > account.
> | > | > |
> | > | > | 6 The code will NOT display the printer selection dialog and
> prints
> | > | > | successfully.
> | > | > | --
> | > | > |
> | > | > | Thank you,
> | > | > |
> | > | > | Scott
> | > | > | Software995 Support
> | > | > |
> | > | > | "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in
> message
> | > | > | news:(E-Mail Removed)...
> | > | > | > Hi Scott,
> | > | > | >
> | > | > | > Welcome to MSDN newsgroup.
> | > | > | > From your description you're using some c++ unmanaged code to
> do
> | > | > printing
> | > | > | > work for a web page. Also, you got some problem when printing,
> | > since
> | > | > | > there'll occur the print setting dialog sometimes.
> | > | > | >
> | > | > | > As for your problem, I'd like to confirm the following things:
> | > | > | >
> | > | > | > 1. Is your printing code running in a activex control or at
> | > serverside
> | > | > | > through COM component in asp page?
> | > | > | >
> | > | > | > 2. If running in ActiveX control, since Activex Control is
> rich
> | > client
> | > | > | > component which running at clientside, I think it won't care
> about
> | > the
> | > | > | > IWAM
> | > | > | > account since IWAM account is a serverside account used to
> running
> | > IIS
> | > | > | > application.
> | > | > | >
> | > | > | > Please feel free to let me know if there're anything I
> | > misunderstand.
> | > | > | > Thanks,
> | > | > | >
> | > | > | > Steven Cheng
> | > | > | > Microsoft Online Support
> | > | > | >
> | > | > | > Get Secure! www.microsoft.com/security
> | > | > | > (This posting is provided "AS IS", with no warranties, and
> confers
> | > no
> | > | > | > rights.)
> | > | > | >
> | > | > | >
> | > | > | >
> | > | > | > --------------------
> | > | > | > | From: "ScottLR" <(E-Mail Removed)>
> | > | > | > | Subject: Problem Printing using IWebBrowser2 from IWAM
> Account
> | > on
> | > | > Server
> | > | > | > 2003
> | > | > | > | Date: Wed, 14 Sep 2005 11:02:38 -0700
> | > | > | > | Lines: 23
> | > | > | > | X-Priority: 3
> | > | > | > | X-MSMail-Priority: Normal
> | > | > | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
> | > | > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
> | > | > | > | X-RFC2646: Format=Flowed; Original
> | > | > | > | Message-ID: <(E-Mail Removed)>
> | > | > | > | Newsgroups:
> microsoft.public.dotnet.framework.aspnet.webcontro ls
> | > | > | > | NNTP-Posting-Host:
> adsl-63-201-229-153.dsl.snfc21.pacbell.net
> | > | > | > 63.201.229.153
> | > | > | > | Path:
> | > | > TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
> | > | > | > | Xref: TK2MSFTNGXA01.phx.gbl
> | > | > | > microsoft.public.dotnet.framework.aspnet.webcontro ls:10832
> | > | > | > | X-Tomcat-NG:
> | > microsoft.public.dotnet.framework.aspnet.webcontro ls
> | > | > | > |
> | > | > | > | The code below successfully invokes printing from an ASP
> page.
> | > | > | > |
> | > | > | > | If I run the code before a user manually logs in as the IWAM
> | > | > account,
> | > | > | > the
> | > | > | > | printer selection dialog is unfortunately displayed. If I
> have
> | > | > logged
> | > | > | > into
> | > | > | > | the IWAM account and logged out, then the printer selection
> | > dialog
> | > | > does
> | > | > | > not
> | > | > | > | display.
> | > | > | > |
> | > | > | > | I do not want the printer selection dialog to display.
> Logging
> | > into
> | > | > the
> | > | > | > IWAM
> | > | > | > | account requires changing the account's password and is not
> an
> | > | > | > acceptable
> | > | > | > | solution. What must be done so that the printer selection
> dialog
> | > is
> | > | > | > | suppressed without requiring needing to log in as the IWAM
> | > account?
> | > | > | > |
> | > | > | > | VARIANT parameter;
> | > | > | > | VariantInit(&parameter);
> | > | > | > | V_VT(&parameter) = VT_ARRAY | VT_BYREF;
> | > | > | > | V_ARRAY(&parameter) = parameter_array;
> | > | > | > |
> | > | > | > | // start printing browser contents
> | > | > | > |
> | > | > | > | hr =
> | > | > | > |
> | > | > | >
> | > | >
> | >
> _Browser->ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSE R,&parameter,NULL
> | > | > | > );
> | > | > | > |
> | > | > | > |
> | > | > | > |
> | > | > | >
> | > | > |
> | > | > |
> | > | > |
> | > | >
> | > |
> | > |
> | > |
> | >
> |
> |
> |
>



 
Reply With Quote
 
Steven Cheng[MSFT]
Guest
Posts: n/a
 
      09-21-2005
Thanks for your response Scott,

I think the lack of a default printer sounds reasonable. Also, as you
mentioned that directly call SetDefaultPrinter in your ASP environment ,
I'm thinking whether it is still caused by No UserProfile for the daemon
logon session of the ASP process account? Have you tried call the
LoadUserProfile first before calling the SetDefaultPrinter?

Thanks,

Steven Cheng
Microsoft Online Support

Get Secure! www.microsoft.com/security
(This posting is provided "AS IS", with no warranties, and confers no
rights.)
--------------------
| From: "ScottLR" <(E-Mail Removed)>
| References: <(E-Mail Removed)>
<(E-Mail Removed)>
<#$(E-Mail Removed)>
<(E-Mail Removed)>
<(E-Mail Removed)>
<(E-Mail Removed)>
<(E-Mail Removed)>
<(E-Mail Removed)>
| Subject: Re: Problem Printing using IWebBrowser2 from IWAM Account on
Server 2003
| Date: Tue, 20 Sep 2005 10:48:48 -0700
| Lines: 476
| X-Priority: 3
| X-MSMail-Priority: Normal
| X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| X-RFC2646: Format=Flowed; Original
| Message-ID: <(E-Mail Removed)>
| Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
| NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
63.201.229.153
| Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP14.phx.gbl
| Xref: TK2MSFTNGXA01.phx.gbl
microsoft.public.dotnet.framework.aspnet.webcontro ls:10932
| X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
|
| Steven,
|
| I have determined the problem is that there is no default printer. The
api
| call SetDefaultPrinter fails until the user has logged on with
| control-alt-delete. Try creating a user, do a run as to start notepad.
| Select print. You will not be able to specify a default printer.
|
| Thank you for your help.
|
| -Scott
|
| "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
| news:(E-Mail Removed)...
| > Thanks Scott for you further followup.
| >
| > OK. Seems the problem is concerned with something else in the serverside
| > printing. In my reviewing this thread, I saw that you've manually
| > construct
| > a webbrowser component in your COM component's printing. Do you think it
| > convenient that you provide me a simple reproduce version of your COM
| > component or just the code that your construct the WEBbrowser control ,
| > navigate a certain page and printing? I'd like to perform some local
tests
| > on it.
| >
| > Thanks,
| >
| > Steven Cheng
| > Microsoft Online Support
| >
| > Get Secure! www.microsoft.com/security
| > (This posting is provided "AS IS", with no warranties, and confers no
| > rights.)
| > --------------------
| > | From: "ScottLR" <(E-Mail Removed)>
| > | References: <(E-Mail Removed)>
| > <(E-Mail Removed)>
| > <#$(E-Mail Removed)>
| > <(E-Mail Removed)>
| > <(E-Mail Removed)>
| > <(E-Mail Removed)>
| > | Subject: Re: Problem Printing using IWebBrowser2 from IWAM Account on
| > Server 2003
| > | Date: Mon, 19 Sep 2005 15:34:11 -0700
| > | Lines: 377
| > | X-Priority: 3
| > | X-MSMail-Priority: Normal
| > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | X-RFC2646: Format=Flowed; Original
| > | Message-ID: <(E-Mail Removed)>
| > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
| > 63.201.229.153
| > | Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msft ngp13.phx.gbl
| > | Xref: TK2MSFTNGXA01.phx.gbl
| > microsoft.public.dotnet.framework.aspnet.webcontro ls:10912
| > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
| > |
| > | Hi Steven,
| > |
| > | LoadUserProfile does not appear to help. I am testing as follows:
| > |
| > | > | > | 1. a new account is created on 2003 in the ADMINISTRATORS
group.
| > | > | > |
| > | > | > | 2. The administrator invokes cmd.exe using "run as" with the
new
| > | > | > account.
| > | > | > |
| > | > | > | 3. The code will display the printer selection dialog and
prints
| > | > | > | successfully.
| > | > | > |
| > | > | > | 4. The new account is used to log into 2003 server and logs
out.
| > | > | > |
| > | > | > | 5. The administrator invokes cmd.exe using "run as" with the
new
| > | > | > account.
| > | > | > |
| > | > | > | 6 The code will NOT display the printer selection dialog and
| > prints
| > | > | > | successfully.
| > |
| > | I am successfully calling LoadUserProfile and then UnLoadUserProfile
in
| > the
| > | process before attempting to print. The calls succeed. However, it
still
| > | fails to suppress the printer selection dialog., even if I try it
again
| > | afterwards. It appears, that something other than running
| > LoadUserProfile
| > | may be necessary to suppress the printer selection dialog when the
| > | Webbrowser control is invoked from a process owned by a user who has
not
| > | logged on via control alt delete. Again, if I log in using control alt
| > | delete, then the printer selection dialog does not display.
| > |
| > | This is the code I am running to call LoadUserProfile. There do not
| > appear
| > | to be errors.
| > |
| > | PROFILEINFO profileInfo;
| > |
| > | ZeroMemory( &profileInfo, sizeof(profileInfo) );
| > | profileInfo.dwSize = sizeof(profileInfo);
| > |
| > |
| > | //memset(&profileInfo, 0, sizeof(PROFILEINFO));
| > | //profileInfo.dwSize = sizeof(PROFILEINFO);
| > |
| > | //strcpy(profileInfo.lpUserName, szUserName);
| > | profileInfo.lpUserName = szUserName;
| > | // profileInfo.lpUserName = "CVC";
| > | profileInfo.dwFlags = PI_NOUI;
| > |
| > | BOOL ret;
| > |
| > | try
| > | {
| > | ret = LoadUserProfile(
| > | hToken,
| > | &profileInfo
| > | );
| > | }
| > | catch(...)
| > | {
| > | DWORD err = GetLastError();
| > | return FALSE;
| > | }
| > |
| > | if (ret == 0)
| > | {
| > | DWORD err = GetLastError();
| > | int a = 1;
| > | AfxMessageBox("failed");
| > |
| > | }
| > |
| > | // Unload the profile when it is no longer needed
| > | if ( !UnloadUserProfile(
| > | hToken, // token for the user
| > | profileInfo.hProfile ) ) { // registry key handle
| > | GetLastError();
| > | }
| > |
| > | --
| > |
| > | Thank you,
| > |
| > | Scott
| > |
| > | "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in message
| > | news:(E-Mail Removed)...
| > | > Hi Scott,
| > | >
| > | > The LoadUserProfile API will take an Handle object as input which
| > | > represent
| > | > of the account's logon session token for which you'd like to load
the
| > user
| > | > profile.
| > | >
| > | > BOOL LoadUserProfile(
| > | > HANDLE hToken,
| > | > LPPROFILEINFO lpProfileInfo
| > | > );
| > | >
| > | > Also, we can get a Token object from the current running thread or
| > | > process,
| > | > the following WIN32 api just provide such functionality:
| > | >
| > | > BOOL OpenProcessToken(
| > | > HANDLE ProcessHandle,
| > | > DWORD DesiredAccess,
| > | > PHANDLE TokenHandle
| > | > );
| > | >
| > | >
| > | > bool OpenThreadToken(
| > | > DWORD dwDesiredAccess,
| > | > bool bImpersonate = false,
| > | > bool bOpenAsSelf = true,
| > | > SECURITY_IMPERSONATION_LEVEL sil = SecurityImpersonation
| > | > ) throw(...);
| > | >
| > | > Thus, we don't need to manually call logonUser API with cleartext
| > | > uesrname/password to establish a logon session/token
| > | >
| > | > Thanks,
| > | >
| > | > Steven Cheng
| > | > Microsoft Online Support
| > | >
| > | > Get Secure! www.microsoft.com/security
| > | > (This posting is provided "AS IS", with no warranties, and confers
no
| > | > rights.)
| > | >
| > | >
| > | >
| > | >
| > | >
| > | > --------------------
| > | > | From: "ScottLR" <(E-Mail Removed)>
| > | > | References: <(E-Mail Removed)>
| > | > <(E-Mail Removed)>
| > | > <#$(E-Mail Removed)>
| > | > <(E-Mail Removed)>
| > | > | Subject: Re: Problem Printing using IWebBrowser2 from IWAM
Account
| > on
| > | > Server 2003
| > | > | Date: Fri, 16 Sep 2005 08:48:32 -0700
| > | > | Lines: 197
| > | > | X-Priority: 3
| > | > | X-MSMail-Priority: Normal
| > | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | > | X-RFC2646: Format=Flowed; Original
| > | > | Message-ID: <(E-Mail Removed)>
| > | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
| > | > 63.201.229.153
| > | > | Path:
| > TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
| > | > | Xref: TK2MSFTNGXA01.phx.gbl
| > | > microsoft.public.dotnet.framework.aspnet.webcontro ls:10864
| > | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | > |
| > | > | Steven,
| > | > |
| > | > | We do not see the printer selection dialog. However, the process
| > stops.
| > | > We
| > | > | know the dialog displays because when performing a "run as" with a
| > user
| > | > that
| > | > | has not logged on manually, the printer selection dialog displays.
| > | > |
| > | > | I am inclined to agree that running LoadUserProfile will solve the
| > | > issue.
| > | > | How can I run this for the IWAM account if I do not know its
| > password?
| > | > |
| > | > |
| > | > | Scott
| > | > |
| > | > | "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in
message
| > | > | news:(E-Mail Removed)...
| > | > | > Thanks for your response Scott,
| > | > | >
| > | > | > OK. So you've used a custom COM component in your asp page(not
| > asp.net
| > | > | > yes?) and try printing in that component, and there'll always
| > occur
| > | > | > printer
| > | > | > selection dialog if you haven't interactively logon through that
| > | > service
| > | > | > account on the server yet ,yes?
| > | > | >
| > | > | > One thing I'm still confused is since the ASP's page processing
| > thread
| > | > | > running in a daemon process belonging to a non displayable
windows
| > | > | > station,
| > | > | > how could you see the Printer selection dialog? It's only
possible
| > for
| > | > us
| > | > | > to see such UI in application running interactively or in a
| > visible
| > | > | > windows
| > | > | > station.
| > | > | >
| > | > | > Anyway, from the symptom of the issue, I think it's likely due
to
| > the
| > | > | > USERPROFILE of your IWAM(or other custom account) account. when
we
| > | > | > interactively logon , the certain user/account's User Profile is
| > | > loaded,
| > | > | > then the Printer selection dialog won't appear. You can try
using
| > the
| > | > | > LoadUserProfile win32 API to manually load the userProfile of
your
| > | > | > process's account to see whether it helps.
| > | > | >
| > | > | > Thanks,
| > | > | >
| > | > | > Steven Cheng
| > | > | > Microsoft Online Support
| > | > | >
| > | > | > Get Secure! www.microsoft.com/security
| > | > | > (This posting is provided "AS IS", with no warranties, and
confers
| > no
| > | > | > rights.)
| > | > | >
| > | > | >
| > | > | > --------------------
| > | > | > | From: "ScottLR" <(E-Mail Removed)>
| > | > | > | References: <(E-Mail Removed)>
| > | > | > <(E-Mail Removed)>
| > | > | > | Subject: Re: Problem Printing using IWebBrowser2 from IWAM
| > Account
| > | > on
| > | > | > Server 2003
| > | > | > | Date: Thu, 15 Sep 2005 09:41:11 -0700
| > | > | > | Lines: 114
| > | > | > | X-Priority: 3
| > | > | > | X-MSMail-Priority: Normal
| > | > | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | > | > | X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | > | > | X-RFC2646: Format=Flowed; Original
| > | > | > | Message-ID: <#$(E-Mail Removed)>
| > | > | > | Newsgroups:
microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | > | > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
| > | > | > 63.201.229.153
| > | > | > | Path:
| > | > TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msft ngp13.phx.gbl
| > | > | > | Xref: TK2MSFTNGXA01.phx.gbl
| > | > | > microsoft.public.dotnet.framework.aspnet.webcontro ls:10848
| > | > | > | X-Tomcat-NG:
| > microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | > | > |
| > | > | > | Steven,
| > | > | > |
| > | > | > | 1. It is running serverside through a com component in an ASP
| > page.
| > | > | > |
| > | > | > | 2. Agreed.
| > | > | > |
| > | > | > | The issue can also be demonstrated as follows:
| > | > | > |
| > | > | > | 1. a new account is created on 2003 in the administrators
group.
| > | > | > |
| > | > | > | 2. The administrator invokes cmd.exe using "run as" with the
new
| > | > | > account.
| > | > | > |
| > | > | > | 3. The code will display the printer selection dialog and
prints
| > | > | > | successfully.
| > | > | > |
| > | > | > | 4. The new account is used to log into 2003 server and logs
out.
| > | > | > |
| > | > | > | 5. The administrator invokes cmd.exe using "run as" with the
new
| > | > | > account.
| > | > | > |
| > | > | > | 6 The code will NOT display the printer selection dialog and
| > prints
| > | > | > | successfully.
| > | > | > | --
| > | > | > |
| > | > | > | Thank you,
| > | > | > |
| > | > | > | Scott
| > | > | > | Software995 Support
| > | > | > |
| > | > | > | "Steven Cheng[MSFT]" <(E-Mail Removed)> wrote in
| > message
| > | > | > | news:(E-Mail Removed)...
| > | > | > | > Hi Scott,
| > | > | > | >
| > | > | > | > Welcome to MSDN newsgroup.
| > | > | > | > From your description you're using some c++ unmanaged code
to
| > do
| > | > | > printing
| > | > | > | > work for a web page. Also, you got some problem when
printing,
| > | > since
| > | > | > | > there'll occur the print setting dialog sometimes.
| > | > | > | >
| > | > | > | > As for your problem, I'd like to confirm the following
things:
| > | > | > | >
| > | > | > | > 1. Is your printing code running in a activex control or at
| > | > serverside
| > | > | > | > through COM component in asp page?
| > | > | > | >
| > | > | > | > 2. If running in ActiveX control, since Activex Control is
| > rich
| > | > client
| > | > | > | > component which running at clientside, I think it won't care
| > about
| > | > the
| > | > | > | > IWAM
| > | > | > | > account since IWAM account is a serverside account used to
| > running
| > | > IIS
| > | > | > | > application.
| > | > | > | >
| > | > | > | > Please feel free to let me know if there're anything I
| > | > misunderstand.
| > | > | > | > Thanks,
| > | > | > | >
| > | > | > | > Steven Cheng
| > | > | > | > Microsoft Online Support
| > | > | > | >
| > | > | > | > Get Secure! www.microsoft.com/security
| > | > | > | > (This posting is provided "AS IS", with no warranties, and
| > confers
| > | > no
| > | > | > | > rights.)
| > | > | > | >
| > | > | > | >
| > | > | > | >
| > | > | > | > --------------------
| > | > | > | > | From: "ScottLR" <(E-Mail Removed)>
| > | > | > | > | Subject: Problem Printing using IWebBrowser2 from IWAM
| > Account
| > | > on
| > | > | > Server
| > | > | > | > 2003
| > | > | > | > | Date: Wed, 14 Sep 2005 11:02:38 -0700
| > | > | > | > | Lines: 23
| > | > | > | > | X-Priority: 3
| > | > | > | > | X-MSMail-Priority: Normal
| > | > | > | > | X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
| > | > | > | > | X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
| > | > | > | > | X-RFC2646: Format=Flowed; Original
| > | > | > | > | Message-ID: <(E-Mail Removed)>
| > | > | > | > | Newsgroups:
| > microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | > | > | > | NNTP-Posting-Host:
| > adsl-63-201-229-153.dsl.snfc21.pacbell.net
| > | > | > | > 63.201.229.153
| > | > | > | > | Path:
| > | > | > TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFT NGP10.phx.gbl
| > | > | > | > | Xref: TK2MSFTNGXA01.phx.gbl
| > | > | > | > microsoft.public.dotnet.framework.aspnet.webcontro ls:10832
| > | > | > | > | X-Tomcat-NG:
| > | > microsoft.public.dotnet.framework.aspnet.webcontro ls
| > | > | > | > |
| > | > | > | > | The code below successfully invokes printing from an ASP
| > page.
| > | > | > | > |
| > | > | > | > | If I run the code before a user manually logs in as the
IWAM
| > | > | > account,
| > | > | > | > the
| > | > | > | > | printer selection dialog is unfortunately displayed. If I
| > have
| > | > | > logged
| > | > | > | > into
| > | > | > | > | the IWAM account and logged out, then the printer
selection
| > | > dialog
| > | > | > does
| > | > | > | > not
| > | > | > | > | display.
| > | > | > | > |
| > | > | > | > | I do not want the printer selection dialog to display.
| > Logging
| > | > into
| > | > | > the
| > | > | > | > IWAM
| > | > | > | > | account requires changing the account's password and is
not
| > an
| > | > | > | > acceptable
| > | > | > | > | solution. What must be done so that the printer selection
| > dialog
| > | > is
| > | > | > | > | suppressed without requiring needing to log in as the IWAM
| > | > account?
| > | > | > | > |
| > | > | > | > | VARIANT parameter;
| > | > | > | > | VariantInit(&parameter);
| > | > | > | > | V_VT(&parameter) = VT_ARRAY | VT_BYREF;
| > | > | > | > | V_ARRAY(&parameter) = parameter_array;
| > | > | > | > |
| > | > | > | > | // start printing browser contents
| > | > | > | > |
| > | > | > | > | hr =
| > | > | > | > |
| > | > | > | >
| > | > | >
| > | >
| >
_Browser->ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSE R,&parameter,NULL
| > | > | > | > );
| > | > | > | > |
| > | > | > | > |
| > | > | > | > |
| > | > | > | >
| > | > | > |
| > | > | > |
| > | > | > |
| > | > | >
| > | > |
| > | > |
| > | > |
| > | >
| > |
| > |
| > |
| >
|
|
|

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
IWAM account on Windows 2000 =?Utf-8?B?RnJhbmsxMjEz?= ASP .Net 0 12-01-2006 12:48 PM
IWAM account and Act as part of the operating system right Frank1213 ASP .Net Security 1 11-28-2006 07:24 PM
[MFC] Using IWebBrowser2 => Navigate with TargetFrameName Emin Tarajan C++ 2 04-18-2005 09:02 AM
IWebBrowser2: Navigate2 ignored Tim Bücker C++ 3 12-16-2004 02:56 PM
How to Import Certificate file into windows certificate store under IWAM account Helena Cai ASP General 0 08-29-2004 05:27 AM



Advertisments