Question

Citrix PNagent Pass-through Authentication Change & Re-Install Problem!

Asked by: lseeman

I have been using PNagent with prompting user credentials on a MetaFrame XPa farm for several years.

However, now we are moving to a Presentation Sever 4.5 farm and set the web-interface PNagent site to only accept Pass-through authentication and I have the following issues/questions:

[ISSUES]:
1.) After updating URL to new farm, properties of PNagent | Logon Mode reverts to blank and pass-through option does not take/save.

2) A reinstall of a custom packaged Citrix PNagent w/ new URL and local credentials enabled still prompts for login

3.) It seems only a manual full Uninstall of PNagent 8 and a reinstall works for Pass-through

[QUESTIONS]:
A.) How can I update the existing PNagent installation to migrate from Prompting to Pass-through of authentication without a manual uninstall/reinstall?

b.) Is there a way to script and/or silently uninstall the Citrix PNagent 8.0 using software deployment (i.e. SMS, DesktopAuthority, KACE)?

* I have exhausted myself and had NO luck with the below tips for automated silent method of uninstalling the PNagent 8.0 :

- MsiExec.exe /I{D8A8C84C-8095-4DF3-8C3D-38DD0772E00B}
- DesktopAuthority software deployment uninstall element
- Manual modify registry by injecting 'pnsson.dll' references
- Manually modify registry by verifying URL
- Verified domain name cache is accurate and domains exist

HELP WOULD BE GREATLY APPRECIATED!

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2008-11-22 at 19:03:56ID23928441
Tags

Citrix

,

Program Agent

,

8.0

Topics

Citrix

,

Microsoft Server

Participating Experts
2
Points
500
Comments
60

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Citrix Farm with different Versions of Citrix servers?
    Is it possible to mix two different versions of Citrix in a farm? By this I mean Citrix Metaframe XP and Presentration Server.
  2. citrix metaframe server not accessing
    Dear, Our accounts guys need to access our parent company citrix metaframe server. we are using ISA Server 2004 firewall. In client machines if i disable isa client they are able to access citrix metaframe server. How can we access citrix metaframe server without disablin...
  3. Unable to add Citrix server to Citrix farm
    I am trying to add a Citrix server to my Citrix PS4.0 farm. I have an SQL server which is running the Citrix database. When I try to join a Citrix server I get the following error message: "Cannot get the property CTX_IMA_FARM_NAME" It can also be seen in the att...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: lseemanPosted on 2008-11-24 at 06:27:59ID: 23028119

To summarize my above issue:

Client: Program Neighborhood Agent 8.0
Server: Presentation Server 4.5

The only way I can get Pass-Through Authentication to work with my Citrix Presentation Server 4.5 Farm PNAgent Web Interface, is to uninstall the custom 8.0 Presentation Server client package with Password Prompt and then install the new custom package with allow local credentials enabled.

Objective:  To be able to silently redeploy new packaged client, or silently uninstall/reinstall PNagent get it to work w/o manually uninstalling.

 

by: NDSSIPosted on 2008-11-24 at 10:33:55ID: 23029566

You have to change the installation off the installed PN Agent to use Pass Through. In this case with old clients my tip is to uninstall the clients like you tried. To do this silent some others maybe have the answer but not I. But to install the new client silent you can download the lates ICA client. XenAppHosted.msi Rund msiexec /a \\pathtomsifil.msi There you can configure it to one single MSI file and total silent installation. After this you can implement this msi file through script, SCCM, GPO etc.

Best regards
/AJ

 

by: lseemanPosted on 2008-11-24 at 10:58:15ID: 23029741

1.) The package was customized to use Pass-Through
2.) I don't want to manually uninstall all 150 clients
3.) I have tried the latest client XappHostes and it didnt work with either authentication method
4.) I did try to customize the XenAppHosted with the msiexec /a and #4 above was the outcome
5.) I am deploying it through GPO and 3rd party tools, that's not the issue

I need to know why I cannot reinstall PNAgent v8 over the existing version with new custom packages changes for Pass-through, OR how can I silently uninstall the existing version w/o user intervention (i.e. script)

 

by: lseemanPosted on 2008-11-24 at 15:55:58ID: 23031578

UPDATE:

If I uninstall the prior PNagent v8, I can deploy a custom package of XenAppHosted 11 via GPO just fine and it works like a charm.  HOWEVER, if I target a client with an existing v8 or v10.1, GPO installs the package, but leaves the client w/o the ability to open an ICA file as if there was not file extension association after logging in....

1.) How come a clean upgrade to a newer version with different features (pass-through) doesnt work?
2.) Is there a way to cleanly uninstall v8 silently via GPO, Script or 4rd party deployment tool?

 

by: NDSSIPosted on 2008-11-25 at 04:36:55ID: 23033985

Hi againt. You can also try this, Im not 100% sure if this will fix the passtrough problem. But it woth the try:)
Locate Appserv.ini in appdata folder for the user you will test. paste inn these two lines in the bottom.
SSOnUserSe tting=On
EnableSSOn ThruICAFile= On
Then try to restart PNAgent and try PassThrough. If this work you can script this file and upgrade via GPO.

/AJ

 

by: lseemanPosted on 2008-11-25 at 08:09:21ID: 23035548

Added only AppServ.ini missing value:   EnableSSOn ThruICAFile= On
(other value existed)

After closing all instances of PNagent client and reopening it, it still prompts for username/password/domain.  When I check options it shows it now keeps the Logon Mode set to Pass-Through....

Any other ideas anyone....

 

by: lseemanPosted on 2008-11-25 at 08:17:16ID: 23035641

Update:

1.) If I deploy a custom packaged XenAppHostedClient via GPO to upgrade PNagent v8, after install/reboot I get the following 2 error messages whenever a Citrix app is called:

PNA3fl6622.ICA:  Action only valid for products that are currently installed

Could not launch registered application

HOWEVER, a clean install works fine!!??

I keep coming back to the question which I cannot find an answer to, How can I silently uninstalled PNagent v8 with a script, gpo or 3rd party software deployment tool?

 

by: lseemanPosted on 2008-11-26 at 07:25:58ID: 23042757

ANYONE HAVE ANY IDEAS???

 

by: lseemanPosted on 2008-11-30 at 07:50:35ID: 23063669

Well I appreciate you giving this attention, BUT I hope to get some support and insight soon....

I need to cut over to the new PS4.5 farm and this requires me to either upgrade all my clients PNagent 8 with new URL and Pass-through, which doesn't work, OR silently uninstall v8 and ver11.

 

by: lseemanPosted on 2008-12-02 at 09:08:30ID: 23078728

No!  Dont delete the question, rather leave it online for potential help.

 

by: vkroslidPosted on 2008-12-02 at 10:19:53ID: 23079348

This vbscript might do the trick. Having a similar issue myself (actually I just want to enforce pass-through authentication). I would run this vbscript using cscript.exe /nologo.

Const HKEY_CURRENT_USER = &H80000001
Set objRegistry = GetObject("Winmgmts:root\default:StdRegProv")
Set Shell = CreateObject("WScript.Shell")
 
strPath = "Software\Citrix\PNAgent"
 
Return = objRegistry.GetBinaryValue(HKEY_CURRENT_USER, strPath, "Configuration Model 000", arr)
 
 
If (Return = 0) And (Err.Number = 0) Then
    'Wscript.Echo "Binary value retrieved successfully"
Else
    ' An error occurred
    WScript.Echo "Problems getting registry value"
End If
 
 
' First we convert the array to a string
a=arr
For I = LBound(arr) To UBound(arr)
  a(I) = Chr(CInt(arr(I)))
Next
strRegValue = CStr(Join(a,""))
 
' Then we replace the prompt value with sson
Set regEx = New RegExp 
regEx.Pattern = "<key>LogonMethod</key><value>prompt</value>"
regEx.IgnoreCase = True
regEx.Global = True
regEx.MultiLine = True
strRegNewValue = regEx.Replace(strRegValue, "<key>LogonMethod</key><value>sson</value>")
 
' Then we convert back to integer array
Dim uBinary
ReDim uBinary(Len(strRegNewValue)-1)
For I = 0 To Len(strRegNewValue) - 1
  uBinary(I) = Asc(Mid(strRegNewValue,I+1,1))
Next
 
' Finally write back to the registry
Return = objRegistry.SetBinaryValue(HKEY_CURRENT_USER, strPath, "Configuration Model 000", uBinary)
 
If (Return = 0) And (Err.Number = 0) Then
    'Wscript.Echo "Binary value added successfully"
Else
    ' An error occurred
    WScript.Echo "Problems writing registry value"
End If

                                              
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:

Select allOpen in new window

 

by: vkroslidPosted on 2008-12-02 at 10:22:36ID: 23079373

Forgot to say - i would run it at login - before pnagent starts. Haven't tested to run it at login myself. I have only run it to make sure it can update the registry key. Will update once I have tested 100%

 

by: vkroslidPosted on 2008-12-02 at 10:43:25ID: 23079543

I just notice that my script is not going to work if the "Configuration Model 000" value is not there already. I'll make a modification to it that will write a default registry value there in case this one is missing.

Anyway, add the below to the end of the above script to have it force specified URL to be used.


' And at the end we force PN Agent to use a specific URL:
Shell.RegWrite "HKCU\Software\Citrix\Program Neighborhood Agent\Config URL", "http://server-name/citrix/PnAgent/config.xml", "REG_SZ"
                                              
1:
2:
3:

Select allOpen in new window

 

by: vkroslidPosted on 2008-12-02 at 11:06:38ID: 23079737

final? version... This will make sure the registry keys (folders) are there before writing the values etc... should be a bit more failsafe.

Const HKEY_CURRENT_USER = &H80000001
Set objRegistry = GetObject("Winmgmts:root\default:StdRegProv")
Set Shell = CreateObject("WScript.Shell")
 
strPath = "Software\Citrix\PNAgent"
strServerName = "server-name2"
 
Return = objRegistry.GetBinaryValue(HKEY_CURRENT_USER, strPath, "Configuration Model 000", arr)
 
 
If (Return = 0) And (Err.Number = 0) Then
	' We read a registry value. First we convert the array to a string
	a=arr
	For I = LBound(arr) To UBound(arr)
	  a(I) = Chr(CInt(arr(I)))
	Next
	strRegValue = CStr(Join(a,""))
Else
	' The registry value didn't already exist
	strRegValue = "<User Blob><Item><Key>DesktopDisplayEnabled</Key><Value>true</Value></Item><Item><Key>DesktopName</Key><Value>Published Applications</Value></Item><Item><key>LogonMethod</key><value>sson</value></Item><Item><Key>ServerURLEntered</Key><Value>http://server-name/Citrix/PNAgent/Config.xml</Value></Item><Item><Key>ServerURLListUsers</Key><Value><LSOption>http://server-name/Citrix/PNAgent/Config.xml</LSOption></Value></Item><Item><Key>StartMenuDisplayEnabled</Key><Value>false</Value></Item><Item><Key>StartMenuRoot</Key><Value></Value></Item><Item><Key>StartMenuDisplayRootFolder</Key><Value></Value></Item><Item><Key>SystemTrayDisplayEnabled</Key><Value>false</Value></Item></User Blob><Primary Server Blob><Item><Key>DesktopName</Key><Value>Published Applications</Value></Item><Item><Key>DesktopNameModifiable</Key><Value>false</Value></Item><Item><Key>ServerIndex</Key><Value>0</Value></Item><Item><Key>ServerURL</Key><Value>http://server-name/Citrix/PNAgent/Config.xml</Value></Item><Item><Key>ServerURLModifiable</Key><Value>true</Value></Item><Item><Key>ServerURLListBackup</Key><Value></Value></Item><Item><Key>StartMenuDisplayRootFolder</Key><Value></Value></Item><Item><Key>StartMenuRootFolderModifiable</Key><Value>false</Value></Item></Primary Server Blob>"
	Set regEx = New RegExp 
	regEx.Pattern = "server-name"
	regEx.IgnoreCase = True
	regEx.Global = True
	regEx.MultiLine = True
	strRegValue = regEx.Replace(strRegValue, strServerName)
End If
 
 
' We replace the prompt value with sson if necessary
Set regEx = New RegExp 
regEx.Pattern = "<key>LogonMethod</key><value>prompt</value>"
regEx.IgnoreCase = True
regEx.Global = True
regEx.MultiLine = True
strRegValue = regEx.Replace(strRegValue, "<key>LogonMethod</key><value>sson</value>")
 
' Then we convert back to integer array
Dim uBinary
ReDim uBinary(Len(strRegValue)-1)
For I = 0 To Len(strRegValue) - 1
  uBinary(I) = Asc(Mid(strRegValue,I+1,1))
Next
 
' Make sure some registry keys are there
Return = objRegistry.CreateKey(HKEY_CURRENT_USER, "Software\Citrix")
Return = objRegistry.CreateKey(HKEY_CURRENT_USER, strPath)
Return = objRegistry.CreateKey(HKEY_CURRENT_USER, "Software\Citrix\Program Neighborhood Agent")
 
' Finally write back to the registry
Return = objRegistry.SetBinaryValue(HKEY_CURRENT_USER, strPath, "Configuration Model 000", uBinary)
 
If (Return = 0) And (Err.Number = 0) Then
    'Wscript.Echo "Binary value added successfully"
Else
    ' An error occurred
    WScript.Echo "Problems writing registry value"
End If
 
 
' This is the value that the new PN Agent will pick up on and convert to binary automatically.
Shell.RegWrite "HKCU\Software\Citrix\Program Neighborhood Agent\Config URL", "http://" & strServerName & "/citrix/PnAgent/config.xml", "REG_SZ"
                                              
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:

Select allOpen in new window

 

by: lseemanPosted on 2008-12-02 at 11:45:22ID: 23080080

WOW!  I appreciate your time and effort.  I'll give it a try and post back soon...

 

by: lseemanPosted on 2008-12-02 at 11:49:03ID: 23080117

I assume I should replace 'servername' with my actual FQDN/Server address of the PS 4.5 WI?

 

by: lseemanPosted on 2008-12-02 at 11:51:34ID: 23080133

Besides doing a find/replace in your script to replace 'server-name' with my actual servername, is there anything else i have to change in it?

 

by: vkroslidPosted on 2008-12-02 at 12:01:03ID: 23080218

you dont need to replace "server-name" - only "server-name2" variable in the beginning. The others are replaced by the script automatically. That should be all. This is no solution to any uninstall/install issues of course. It simply make sure you have pass-through and the correct URL in use

 

by: lseemanPosted on 2008-12-02 at 12:34:16ID: 23080506

I added a BAT to call the your VBS using 'cscript' and it had the following effect on a client with an existing PNAgent v8 with a URL to XPa WI and Prompt Auth:

1.) URL changed to new PS 4.5 farm WI
2.) Logon Mode left blank with Single-signon/Pass-through available for selection
3.) Upon selecting it and OK, it prompts for logon and reverts back to blank logon mode...

Any more ideas?

 

by: vkroslidPosted on 2008-12-02 at 12:39:31ID: 23080561

The script is written for the XenApp client 10+ which uses new registry keys. Just tested with v11 here and works.
Older versions of the agent user a DWORD registry value "HKCU\Software\Citrix\Program Neighborhood Agent\Login Option". Set it to 2 for pass-through login.
If you current account doesn't authenticate with the citrix server (for example if you are logged on as local administrator) then it will revert back to prompt. If your password has been changed then it will revert back to prompt.

 

by: lseemanPosted on 2008-12-02 at 12:49:08ID: 23080646

I will do an in place upgrade of PNagent v8 to XenAppHosted 11.x and run your script again.

NOTE: User is logged on as domain user with permissions to the farm.  If user manually enter credentials at PNAgent prompt, Auth succeeds.

I'll update you shortly...

 

by: vkroslidPosted on 2008-12-02 at 13:29:18ID: 23081035

Another thing to notice is that valid authentication methods are specified in the config.xml file on the pnagent web server...

 

by: lseemanPosted on 2008-12-02 at 16:44:05ID: 23082326

Yes, I already verified that my config.xml on the PS4.5 WI Server is accurate.  As mentioned above, all my clients that received a [clean] install of XenAppHosted v11 client work fine with Pass-Through/SSO.

I'll try your script again a client which received an in place upgrade from v8 to v11 and report back ....

 

by: lseemanPosted on 2008-12-02 at 16:51:34ID: 23082360

As mentioned in earlier posts to this thread, this is what I am getting after upgrading PNAgent v8 to XenAppHosted v11 (attached error).

vkroslid, will your script fix this or do you know what can?

NOTE: A clean install of XenAppHosted works fine.

 

by: vkroslidPosted on 2008-12-03 at 02:30:41ID: 23084650

THAT error is not handled by my script. The script is simply for forcing a specific URL and pass-through authentication to be used on an otherwise working client installation. I

 

by: lseemanPosted on 2008-12-03 at 08:30:22ID: 23087507

Well this is the error I get every time when trying to open a Citrix published app AFTER upgrading PNAgent v8 with XenAppHosted client v11.....?

 

by: vkroslidPosted on 2008-12-03 at 09:05:38ID: 23087903

I found this elsewhere:

ret1=sho.Run("C:\WINNT\ISUNINST.EXE" & Chr(34) &"-fC:\PROGRA~1\Citrix\ICACLI~1\Uninst.isu" &Chr(34) & "-cC:\PROGRA~1\Citrix\ICACLI~1\uninstpn.dll" & Chr(34) & "-a",HIDE_WINDOW,true)
'Above - Uninstalls 6.30, 6.31,7.0,8.0

ret3=sho.Run("msiexec.exe /x" & Chr(34) & "{76E4A642-BC3E-438A-8450-0C15A36B5B18l}" & Chr(34) & " REBOOT=ReallySuppress /qb!-", HIDE_WINDOW, true)
'Above - Uninstall 8.1

 

by: vkroslidPosted on 2008-12-03 at 09:06:24ID: 23087915

Here's the complete vbs file

On Error Resume Next
 
Set sho = CreateObject("Wscript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set nwo = CreateObject("WScript.Network")
 
FN = wscript.scriptfullname 'Grabs the full path and name of this script
LenFN = Len(FN) 'Gets the length of FN
N = wscript.scriptname 'Gets the only the name of this script
LenN = Len(N) 'Gets the length of N
DiffN = LenFN - LenN - 1 'Gets the differnce in length between FN and N
PathN = Mid(FN,1,DiffN) 'Takes the full name and removes DiffN characters
 
'Uninstallation
 
ret10 = sho.run(chr(34) & PathN & "\pskill.exe" & Chr(34) & "-t wfcrun32.exe",,true)
 
ret1=sho.Run("C:\WINNT\ISUNINST.EXE" & Chr(34) &"-fC:\PROGRA~1\Citrix\ICACLI~1\Uninst.isu" &Chr(34) & "-cC:\PROGRA~1\Citrix\ICACLI~1\uninstpn.dll" & Chr(34) & "-a",HIDE_WINDOW,true)
'Above - Uninstalls 6.30, 6.31,7.0,8.0
ret3=sho.Run("msiexec.exe /x" & Chr(34) & "{76E4A642-BC3E-438A-8450-0C15A36B5B18l}" & Chr(34) & " REBOOT=ReallySuppress /qb!-", HIDE_WINDOW, true)
'Above - Uninstall 8.1
ret4=sho.Run("msiexec.exe /x" & Chr(34) & "{4E21223F-8D6C-446E-9CD3-587D206A8400}" & Chr(34) & " REBOOT=ReallySuppress /qb!-", HIDE_WINDOW, true)
'Above - Uninstall 9.0
ret5=sho.Run("msiexec.exe /x" & Chr(34) & "{E92B7A19-5FD5-4AEE-9FEF-7AD5DD3A675E}" & Chr(34) & " REBOOT=ReallySuppress /qb!-", HIDE_WINDOW, true)
'Above - Uninstall 9.1
ret6=sho.Run("msiexec.exe /x" & Chr(34) & "{D989BCC0-757C-4FB6-893C-512DF4382656}" & Chr(34) & " REBOOT=ReallySuppress /qb!-", HIDE_WINDOW, true)
'Above - Uninstall 9.2
ret7=sho.Run("msiexec.exe /x" & Chr(34) & "{7A1FB67F-A340-472A-97C3-A6AFFE078AAE}" & Chr(34) & " REBOOT=ReallySuppress /qb!-", HIDE_WINDOW, true)
'Above - Uninstall 9.3
ret=ret1+ret2+ret3+ret4+ret5+ret6+ret7
ret=0
 
wscript.Quit(ret)

                                              
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:

Select allOpen in new window

 

by: vkroslidPosted on 2008-12-03 at 09:08:04ID: 23087932

 

by: vkroslidPosted on 2008-12-03 at 09:11:26ID: 23087969

It needs pskill.exe in the same folder as you run it from it seems. This would be the automated way of removing any previous version of the Citrix ICA client.. then you can run an install afterwards
You could run this once through Desktop Authority and have a reboot command at the end? Then run the v11 install as the next step?

 

by: lseemanPosted on 2008-12-03 at 12:11:44ID: 23089594

This is great info., but I think I tried those MSI uninstall cmd's.   will verify that momentarily.

To address the .ICA file association issue, I have manually associated the .ICA file with 'wfcrun32.exe' and the published apps now work!

To address the above screenshot on upgraded clients, I will try and have this association made by importing the proper registry information at next login...

 

by: lseemanPosted on 2008-12-03 at 12:35:50ID: 23089851

We are getting close!  Trying your latest VBS now for complete uninstall....

 

by: lseemanPosted on 2008-12-03 at 14:37:53ID: 23091060

Your script post at: 12.03.2008 at 12:06PM EST, ID: 23087915, didn't perform the un-installation of PNAgent v8.  It doesnt appear to have done anything....

cscript.exe /nologo <full path to vbs file>

Should I run the MSIzap utility?  If so, what function should I perform with it?

 

by: vkroslidPosted on 2008-12-03 at 14:55:01ID: 23091171

Did some research for you with regards to uninstalling pnagent silently. Basically it seems like the setup is made in such a way that it is not possible. It is not MSI-based. That custom dialog asking for confirmation just won't go away. The good news is that I found a way to automate it with the free AutoIt3.

1. Get AutoIt3 from http://www.autoitscript.com/autoit3/index.shtml
2. Save the below code to something like pn8uninst.au3
3. Compile & build the script to an .exe
4. Run on a client with pnagent 8.00 to uninstall automatically (not completely silent - but dialog boxes disappear automatically)

ProcessClose ( "ssonsvr.exe")
ProcessClose ( "pnagent.exe")
 
Run('"C:\Program Files\InstallShield Installation Information\{26891DA7-0C7B-4F94-B2C4-239B96305045}\Setup.exe" /uninst /s /x')
 
WinWaitActive("Program Neighborhood Agent")
 
Send("Y")
 
Sleep(2000)
 
WinWaitActive("Program Neighborhood Agent")
 
Send("{ENTER}")

                                              
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:

Select allOpen in new window

 

by: vkroslidPosted on 2008-12-03 at 14:57:43ID: 23091195

I tested it with pnagent 8.00 here and it worked as intended. You could run this with desktop authority instead of the earlier suggested script.

 

by: lseemanPosted on 2008-12-03 at 15:03:03ID: 23091236

This is a working thread and we are making progress towards a solution. DO NOT DELETE QUESTION

 

by: lseemanPosted on 2008-12-03 at 15:05:15ID: 23091265

I am impressed with your attention and focus on my issue!!!!!

I'll try what you said and report back shortly...

(I cannot compile and build executable packages with DesktopAuthority, b/c I dont have the addon modules for MSI studio.)

 

by: lseemanPosted on 2008-12-03 at 15:06:17ID: 23091275

i WILL INCREASE THE POINTS ON THIS QUESTION WHEN I REACH SUCCESS.....

 

by: vkroslidPosted on 2008-12-03 at 15:31:14ID: 23091451

the compile step is for autoit3. Just open up the .au3 file with the script in autoit3 and choose to compile and then build it. You will get an .exe file of about 256KB. I tried to upload that .exe in a .zip file on this site but somehow it didn't work.

 

by: lseemanPosted on 2008-12-03 at 19:30:37ID: 23092462

I took your code and saved it as a AU3, then converted it to an EXE with AutoIT.  When I manually ran it on a client with PNAgent v8, it removed the taskbar tray icon within seconds, but it the AutoID package icon is still in the task tray after 5min and the Citrix Program Group is still present and populated with the Agent....

Any ideas?

 

by: vkroslidPosted on 2008-12-04 at 00:48:28ID: 23093473

That sounds like it stalls on line 6 - waiting for a window named "Program Neighborhood Agent".
Perhaps your package is not exactly same same ID as mine? If you look in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ you should find the ID of your Citrix Program Neighborhood Agent package. You can just copy the uninstall string from this and paste into the RUN-command of the script. The WinWaitActive will wait for an active window named as specified. If your uninstall procedure doesn't produce this then you need to change it to whatever window name is used. When I tested I found that different uninstall parameters gave different window names.....

 

by: lseemanPosted on 2008-12-04 at 05:21:33ID: 23094975

This is the value I have: {2C42ED1E-6315-4E63-89E6-057EA114EBB8}

I'll modify the script and re-compile/convert the package, then run the script again....

 

by: lseemanPosted on 2008-12-04 at 07:46:23ID: 23096294

Still hangs in tasktray with new MSI ID string and no Events logged.....?

 

by: vkroslidPosted on 2008-12-04 at 08:11:58ID: 23096588

You need to make sure that the run command actually launches something. you can try run it from Start->Run. As I said earlier - you might have to copy the whole uninstall string from the registry.

 

by: lseemanPosted on 2008-12-04 at 10:31:40ID: 23097970

I manually ran it with the new ID locally on the client.  I will take another look at the "uninstall string" to see if it differs other than the ID...?

 

by: lseemanPosted on 2008-12-04 at 12:54:00ID: 23099325

I simply modified your code with the exact uninstall string from the registry for the following line and repackaged and converted to a .EXE with AutoIT:

Run('"MsiExec.exe /I{2C42ED1E-6315-4E63-89E6-057EA114EBB8}')


No dice/same hung result....

 

by: vkroslidPosted on 2008-12-04 at 12:59:29ID: 23099384

Are you sure you got PNAgent 8.00 ? That version is not using MSI I believe.
Whatever you put within the quotes MUST uninstall the client interactively when run from Start->Run menu.

As you can see in the script posted in "12.03.2008 at 06:06PM CET, ID: 23087915", Citrix clients up to 8.0 use InstallShield. Version 8.1 and up use MSI.

 

by: lseemanPosted on 2008-12-04 at 13:26:30ID: 23099645

Yes; 8.00.24737

That's whats in the registry for the uninstall string....

 

by: vkroslidPosted on 2008-12-04 at 13:51:55ID: 23099892

How about something like: MsiExec.exe /x{2C42ED1E-6315-4E63-89E6-057EA114EBB8} /qb-!
Here's another one to try: msiexec.exe /x {2C42ED1E-6315-4E63-89E6-057EA114EBB8} /q /L"V*"c:\ica32remlog.txt

Looks like the main difference between what you got and the strings i found with google is the /x instead of /i....

 

by: lseemanPosted on 2008-12-04 at 18:20:58ID: 23101632

Okay; good news!  The below cmd worked manually from RUN to silently uninstall the PNAgent v8 client:

msiExec.exe /x{2C42ED1E-6315-4E63-89E6-057EA114EBB8} /q /L"V*"c:\ica32remlog.txt

I don't think I need to use as an EXE package in AutoID, rather I'll just call the cmd directly above using DesktopAuthority

THANKS FOR YOU ALL YOUR INVALUABLE HELP!!!

 

by: lseemanPosted on 2008-12-04 at 18:21:54ID: 31519526

I wish I could give this Expert who assisted me 1,000+ points!  Thank you!

 

by: lseemanPosted on 2008-12-04 at 18:28:21ID: 23101675

So my solution to migrate all my Citrix MetaFrame v8 clients to the new Presentation Server 4.5 Farm will be:

1.) Deploy the below uninstall string via ScriptLogic DesktopAuthority (DA):
msiExec.exe /x{2C42ED1E-6315-4E63-89E6-057EA114EBB8} /q /L"V*"c:\ica32remlog.txt

2.) Deploy mew custom (SSO, URL change) packaged Citrix XenAppHosted Client v11 using DA

 

by: vkroslidPosted on 2008-12-04 at 18:41:29ID: 23101773

sounds good to me. glad to be of help.
The main goal with my initial vbs script is to change the URL and force passthrough for roaming profiles when we migrate to XenApps 5 shortly. Good luck with your upgrade.

 

by: lseemanPosted on 2008-12-04 at 18:58:51ID: 23101872

I confirmed step two using this cmd manually:

msiExec.exe /i \\servername\deploy\XenAppHosted.msi /q /forcerestart /L"V*"c:\XenAppInstallLog.txt

 

by: lseemanPosted on 2008-12-05 at 12:39:16ID: 23108542

So far I am 2:5, where 3 out of the 5 clients still retain the old Farm URL.  Does anyone know why this is being retained?  If I manually update the URL, everything works....

 

by: vkroslidPosted on 2008-12-05 at 16:05:51ID: 23109931

Don't know why that happens, but I would then just put in my first .vbs file (final version of it) as an additional step in application launcher after doing the upgrade steps.

 

by: lseemanPosted on 2008-12-05 at 19:30:25ID: 23110616

Some more helpful info.:

Manually uninstall previous versions with a script that looks like this:
 
@echo Uninstalling previous versions of the Citrix client. Please wait...
@echo off
MSIEXEC /x {4E21223F-8D6C-446E-9CD3-587D206A8400} /qn REBOOT=ReallySuppress
MSIEXEC /x {76E4A642-BC3E-438A-8450-0C15A36B5B18l} /qn REBOOT=ReallySuppress
MSIEXEC /x {7A1FB67F-A340-472A-97C3-A6AFFE078AAE} /qn REBOOT=ReallySuppress
MSIEXEC /x {94F321B9-45B0-4125-970D-DE3D98CBCA1C} /qn REBOOT=ReallySuppress
MSIEXEC /x {B2AE44CB-2AAB-4C08-A54B-D264BD604DA8} /qn REBOOT=ReallySuppress
MSIEXEC /x {D989BCC0-757C-4FB6-893C-512DF4382656} /qn REBOOT=ReallySuppress
MSIEXEC /x {DF1D5FEC-D67C-43C8-9230-41F5DF350196} /qn REBOOT=ReallySuppress
MSIEXEC /x {E92B7A19-5FD5-4AEE-9FEF-7AD5DD3A675E} /qn REBOOT=ReallySuppress
deltree /Y "c:\program files\citrix\ica client"
 
I included all of the ProductCodes that I could gather, and I think I've caught v7 through v10. If I've missed any, please add them to these notes.
                                              
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:

Select allOpen in new window

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...