Re: Problem Printing using IWebBrowser2 from IWAM Account on Server 2003
- From: "ScottLR" <ScottLR@xxxxxxxxxxxxxxxx>
- Date: Mon, 19 Sep 2005 15:34:11 -0700
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]" <stcheng@xxxxxxxxxxxxxxxxxxxx> wrote in message
news:LQeUIKPvFHA.768@xxxxxxxxxxxxxxxxxxxxxxxx
> 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" <ScottLR@xxxxxxxxxxxxxxxx>
> | References: <OhGfBaVuFHA.1572@xxxxxxxxxxxxxxxxxxxx>
> <JQeKPQeuFHA.580@xxxxxxxxxxxxxxxxxxxxx>
> <#$SsNRhuFHA.2960@xxxxxxxxxxxxxxxxxxxx>
> <4F37LuouFHA.3020@xxxxxxxxxxxxxxxxxxxxx>
> | 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: <eo6MeYtuFHA.3388@xxxxxxxxxxxxxxxxxxxx>
> | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
> | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
> 63.201.229.153
> | Path: TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
> | Xref: TK2MSFTNGXA01.phx.gbl
> microsoft.public.dotnet.framework.aspnet.webcontrols:10864
> | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
> |
> | 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]" <stcheng@xxxxxxxxxxxxxxxxxxxx> wrote in message
> | news:4F37LuouFHA.3020@xxxxxxxxxxxxxxxxxxxxxxxx
> | > 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" <ScottLR@xxxxxxxxxxxxxxxx>
> | > | References: <OhGfBaVuFHA.1572@xxxxxxxxxxxxxxxxxxxx>
> | > <JQeKPQeuFHA.580@xxxxxxxxxxxxxxxxxxxxx>
> | > | 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: <#$SsNRhuFHA.2960@xxxxxxxxxxxxxxxxxxxx>
> | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
> | > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
> | > 63.201.229.153
> | > | Path:
> TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!tk2msftngp13.phx.gbl
> | > | Xref: TK2MSFTNGXA01.phx.gbl
> | > microsoft.public.dotnet.framework.aspnet.webcontrols:10848
> | > | X-Tomcat-NG: microsoft.public.dotnet.framework.aspnet.webcontrols
> | > |
> | > | 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]" <stcheng@xxxxxxxxxxxxxxxxxxxx> wrote in message
> | > | news:JQeKPQeuFHA.580@xxxxxxxxxxxxxxxxxxxxxxxx
> | > | > 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" <ScottLR@xxxxxxxxxxxxxxxx>
> | > | > | 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: <OhGfBaVuFHA.1572@xxxxxxxxxxxxxxxxxxxx>
> | > | > | Newsgroups: microsoft.public.dotnet.framework.aspnet.webcontrols
> | > | > | NNTP-Posting-Host: adsl-63-201-229-153.dsl.snfc21.pacbell.net
> | > | > 63.201.229.153
> | > | > | Path:
> | > TK2MSFTNGXA01.phx.gbl!TK2MSFTNGP08.phx.gbl!TK2MSFTNGP10.phx.gbl
> | > | > | Xref: TK2MSFTNGXA01.phx.gbl
> | > | > microsoft.public.dotnet.framework.aspnet.webcontrols:10832
> | > | > | X-Tomcat-NG:
> microsoft.public.dotnet.framework.aspnet.webcontrols
> | > | > |
> | > | > | 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(¶meter);
> | > | > | V_VT(¶meter) = VT_ARRAY | VT_BYREF;
> | > | > | V_ARRAY(¶meter) = parameter_array;
> | > | > |
> | > | > | // start printing browser contents
> | > | > |
> | > | > | hr =
> | > | > |
> | > | >
> | >
> _Browser->ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER,¶meter,NULL
> | > | > );
> | > | > |
> | > | > |
> | > | > |
> | > | >
> | > |
> | > |
> | > |
> | >
> |
> |
> |
>
.
- Follow-Ups:
- Re: Problem Printing using IWebBrowser2 from IWAM Account on Server 2003
- From: Steven Cheng[MSFT]
- Re: Problem Printing using IWebBrowser2 from IWAM Account on Server 2003
- References:
- Problem Printing using IWebBrowser2 from IWAM Account on Server 2003
- From: ScottLR
- RE: Problem Printing using IWebBrowser2 from IWAM Account on Server 2003
- From: Steven Cheng[MSFT]
- Re: Problem Printing using IWebBrowser2 from IWAM Account on Server 2003
- From: ScottLR
- Re: Problem Printing using IWebBrowser2 from IWAM Account on Server 2003
- From: Steven Cheng[MSFT]
- Re: Problem Printing using IWebBrowser2 from IWAM Account on Server 2003
- From: ScottLR
- Re: Problem Printing using IWebBrowser2 from IWAM Account on Server 2003
- From: Steven Cheng[MSFT]
- Problem Printing using IWebBrowser2 from IWAM Account on Server 2003
- Prev by Date: Re: Custom web control in a repeater
- Next by Date: pop Up Window from .cs file
- Previous by thread: Re: Problem Printing using IWebBrowser2 from IWAM Account on Server 2003
- Next by thread: Re: Problem Printing using IWebBrowser2 from IWAM Account on Server 2003
- Index(es):
Relevant Pages
|