search cancel

The following error occurred on the page 'PrebootConfigEditor.aspx': String was not recognized as a valid Boolean.

book

Article ID: 202002

calendar_today

Updated On:

Products

Deployment Solution

Issue/Introduction

The customer is trying to edit one of his pre-existing preboots. As example, it is called "ITMS_WinPE10".

When he tries to view / edit the details of his Preboot Configuration through the following menu option:

Settings > Deployment > Manage Preboot Configurations > Policy Rules / Actions section> <Select a preboot configuration and click Edit>

he gets the following:

Altiris Notification Server Error
The following error occurred on the page 'PrebootConfigEditor.aspx':
Unknown or unspecified error:
More details can be found in the Altiris Notification Server Log.

 

In the NS log, the following Error event is present:

Failed to process web request.

Exception of type 'System.Web.HttpUnhandledException' was thrown.
   [System.Web.HttpUnhandledException @ System.Web]
   at System.Web.UI.Page.HandleError(Exception e)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest()
   at System.Web.UI.Page.ProcessRequest(HttpContext context)
   at Altiris.NS.UI.Controls.PageCachePage.ProcessRequest(HttpContext context)
   at Altiris.NS.UI.AltirisPage.ProcessRequest(HttpContext context)

String was not recognized as a valid Boolean.
   [System.FormatException @ mscorlib]
   at System.Boolean.Parse(String value)
   at Altiris.Deployment.Web.PrebootConfigEditor.FillControlsData(Guid prebootItem)
   at Altiris.Deployment.Web.PrebootConfigEditor.Page_Load(Object sender, EventArgs e)
   at System.Web.UI.Control.OnLoad(EventArgs e)
   at Altiris.NS.UI.Controls.PageCachePage.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Exception logged from: 
   at Altiris.NS.UI.AltirisPage.ProcessRequest(System.Web.HttpContext)
   at System.Web.HttpApplication+CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStepImpl(System.Web.HttpApplication+IExecutionStep)
   at System.Web.HttpApplication.ExecuteStep(System.Web.HttpApplication+IExecutionStep, Boolean&)
   at System.Web.HttpApplication+PipelineStepManager.ResumeSteps(Exception)
   at System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext, AsyncCallback)
   at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest, System.Web.HttpContext)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)
   at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatus&)
   at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, System.Web.RequestNotificationStatus&)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, Int32)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, Int32)

 

HTTP [GET]: https://smp.domain.gov/Altiris/Deployment/PrebootConfigEditor.aspx?guid=797ac522-e3dd-454e-8d29-bb9cc2ebccc5


It seems to be happening only on a pre-existing custom preboot configuration before upgrading to 8.5 RU4. If we create  new one, he can edit the new one just fine.

Cause

Invalid UseiPXE tag in the preboot configuration XML.

The NS log says that the page is expecting some sort of value:
String was not recognized as a valid Boolean.

While reviewing the XML for this preboot configuration,  there was a missing portion at the end for UseiPXE tag:
<item>
<PrebootImageConfiguration>
<name>ITMS_WinPE10</name>
<description />
<OperatingSystem>
<actionType>0</actionType>
<ostype>8</ostype>
<Architectures>
<X86>False</X86>
<X64>True</X64>
<IA64>False</IA64>
<Archtype>2</Archtype>
</Architectures>
</OperatingSystem>
<oem>DS Agent</oem>
<automationtype>2</automationtype>
<AutomationFolder>False</AutomationFolder>
<PXE>False</PXE>
<BothPreboot>True</BothPreboot>
<PrebootType>2</PrebootType>
<RecreateTimeStamp>2020-10-22T00:23:01.4061196Z</RecreateTimeStamp>
<IsLockKeyboardMouse>false</IsLockKeyboardMouse>
<UseiPXE />
</PrebootImageConfiguration>
</item>

so, if you create a new one and compare them, the new working one should look like this:
<item>
<PrebootImageConfiguration>
<name>ITMS85RU4New</name>
<description />
<OperatingSystem>
<actionType>1</actionType>
<ostype>8</ostype>
<Architectures>
<X86>False</X86>
<X64>True</X64>
<IA64>False</IA64>
<Archtype>2</Archtype>
</Architectures>
</OperatingSystem>
<oem>DS Agent</oem>
<automationtype>2</automationtype>
<AutomationFolder>False</AutomationFolder>
<PXE>False</PXE>
<BothPreboot>True</BothPreboot>
<PrebootType>2</PrebootType>
<RecreateTimeStamp>2020-10-22T17:50:15.2766562Z</RecreateTimeStamp>
<IsLockKeyboardMouse>False</IsLockKeyboardMouse>
<UseiPXE>True</UseiPXE>
</PrebootImageConfiguration>
</item>

So, the "PrebootConfigEditor.aspx" page is expecting a NULL, False or True value to be passed.

Environment

ITMS 8.5 RU4

Resolution

  1. Check under "Automation_Image_Configuration" table and see if all the preboot configurations that you have either has a NULL, False, or True entry under the "UseiPXE" column.
    select * from Automation_Image_Configuration

  2. So if you compare the bad with the working one, it is what the table may have:
    select * from Automation_Image_Configuration
    where itemguid in (
    '797AC522-E3DD-454E-8D29-BB9CC2EBCCC5', --bad preboot
    '35AFFB22-5CF6-430B-9B79-C258C413365A' --good preboot
    )


    Configuration_Name ItemGuid OS_Type Processor_Type Description OEM_Extension_List Has_Been_Created Automation_Type ActionType IsLockKeyboardMouse UseiPXE
    ITMS_WinPE10 797AC522-E3DD-454E-8D29-BB9CC2EBCCC5 8 2   DS Agent 0 2 0 FALSE  
    ITMS85RU4New 35AFFB22-5CF6-430B-9B79-C258C413365A 8 2   DS Agent 0 2 1 FALSE TRUE

    As you can see, the bad one doesn't have an entry under "UseiPXE". This is causing the boolean check failure for this "PrebootConfigEditor.aspx" page.
  3. In order to modify that column, use the following query (so you can update the "Item" table and fix the XML for the bad preboot configuration):
    update item
    set state = replace (cast (state as nvarchar (max)), '<UseiPXE />', '<UseiPXE>False</UseiPXE>')
    where Guid ='797ac522-e3dd-454e-8d29-bb9cc2ebccc5' --GUID of the broken preboot configuration

Attachments