PC Transplant Solution causes Notification Server Security Roles to display an error

Article:TECH25851  |  Created: 2007-01-05  |  Updated: 2007-02-15  |  Article URL http://www.symantec.com/docs/TECH25851
Article Type
Technical Solution


Issue



I had a Notification server crash; I went to a clean rebuild, but I wanted to use the existing database. After the reinstall and connection to the exisitng database, I continually saw the following log entries:

Priority: 1
Date: 1/2/2007 4:56:26 AM
Tick Count: 127089968
Host Name: NGSMI013
Process: w3wp.exe (6192)
Thread ID: 7804
Module: AltirisNativeHelper.dll
Source: Altiris.NS.UI.Admin.Security.RoleManager_Privileges.LoadItemTasksForFolderInternal
Description: An error occurred loading an Item task in the privileges tab ( Unhandled exception. Type=Altiris.NS.Exceptions.AeXException Msg=An unexpected exception has occured during CreateInstance. (Assembely:Altiris.NS.PCTransplant, Version=6.1.1026.0, Culture=neutral, PublicKeyToken=d516cb311cfb6e4f Type:Altiris.NS.PCTransplant.PCTSWizardItemAction) Src=Altiris.NS

StackTrace=at Altiris.NS.ClassActivator.CreateInstance(String assembly, String type) at Altiris.NS.ItemManagement.Item.CreateInstance(String strClassAssembly, String strClassType, Guid itemGuid) at Altiris.NS.ItemManagement.Item.CreateInstance(String strClassAssembly, String strClassType) at Altiris.NS.ItemManagement.Item.GetItem(Guid itemGuid) at Altiris.NS.UI.Admin.Security.RoleManager_Privileges.LoadItemTasksForFolderInternal(Guid folderGuid, ItemPermissionAccess permission, Boolean shownItemLoadError, String sectionNamePrefix)

Inner exception. Type=System.IO.FileNotFoundException Msg=File or assembly name Altiris.NS.PCTransplant, or one of its dependencies, was not found. Src=mscorlib StackTrace= at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Boolean isStringized, Evidence assemblySecurity, Boolean throwOnFileNotFound, Assembly locationHint, StackCrawlMark& stackMark) at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Boolean stringized, Evidence assemblySecurity, StackCrawlMark& stackMark) at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark) at System.Activator.CreateInstance(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo, StackCrawlMark& stackMark) at System.Activator.CreateInstance(String assemblyName, String typeName) at Altiris.NS.ClassActivator.CreateInstance(String assembly, String type) )


Environment



Notification Server 6.0.6074 R3

Cause



This databases contain a previous install of Deployment Solution, and, apparently, PCT Solution is included in that install. The removal of Deployment Solution has not completed an uninstall or a removal of PCT Solution. When NSSetup is run, it finds the PCT database entries and attempts to create the necessary links for the rest of the console to use PCT.

Solution



Either of the below queries will work to set the item table entries appropriately to make PCT appear uninstalled. Note that attempting to install the solution and then removing it does not work.

update item set ProductUninstalled=1 where classguid in (
select guid from class where assembly like '%PCTransplant%')

update item set ProductUninstalled=1 where productguid = '43F42ADD-713C-4397-B252-F79D1D90A4C6'
and productuninstalled=0

We also made sure that there are no other PCT Entries in the file system. This is just a solid starting point for future development of a better removal tool/script.


Legacy ID



31632


Article URL http://www.symantec.com/docs/TECH25851


Terms of use for this information are found in Legal Notices