Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 235219
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T20:14:54+00:00 2026-05-11T20:14:54+00:00

I am using the ilovesharepoint Lookup Field with Picker that is on codeplex on

  • 0

I am using the ilovesharepoint Lookup Field with Picker that is on codeplex on a Moss 2007 standard environment. I ran the setup project, and then in Powershell issued the appropriate command to change a Lookup field to the Lookup with Picker (ConvertLookupToLookupFieldWithPicker.ps1) which is shown below.

# http://www.iLoveSharePoint.com
# by Christian Glessner

param([string]$webUrl=$(throw 'Parameter -webUrl is missing!'), 
    [string]$listName=$(throw 'Parameter -listName is missing!'), 
    [string]$fieldTitle=$(throw 'Parameter -fieldTitle is missing!'))

$ErrorActionPreference = "Stop";

$env:12HivesDir = "$env:CommonProgramFiles\Microsoft Shared\web server extensions\12\";
$null = [System.Reflection.Assembly]::LoadFrom("$env:12HivesDir\ISAPI\Microsoft.SharePoint.dll");
$site =  New-Object -TypeName "Microsoft.SharePoint.SPSite" -ArgumentList $webUrl;
$web = $site.OpenWeb();
$list = $web.Lists[$listName];

$field = $list.Fields[$fieldTitle];
$schema = [xml]$field.SchemaXml;

$schema.Field.Type = "LookupFieldWithPicker"

if($schema.SelectSingleNode("//@SearchFields") -eq $null)
{
    $searchFields = $schema.CreateAttribute("SearchFields");
    $searchFields.PSBase.Value = [Microsoft.SharePoint.SPBuiltInFieldId]::ID.ToString();
    $schema.Field.PSBase.Attributes.Append($searchFields);
}

$field.SchemaXml = $schema.PSBase.OuterXml;

Write-Output "Done."

I keep seeing this error come up

1d22ea11-1e32-424e-89ab-9fedbadb6ce1
Exception setting “SchemaXml”: “Non-supported field type change.
The field cannot be changed to the new type. Please check the new type and try again.”
At C:\Documents and Settings\xgrmmart\Desktop\icgpm\deploy\ConvertLookupToLookupFieldWithPicker.ps1:29 char:8
+ $field.S <<<< chemaXml = $schema.PSBase.OuterXml;

No idea why its not working….ran perfectly in the test environment. I’m not an expert on PowerShell and any help is much appreciated. Thanks.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-11T20:14:54+00:00Added an answer on May 11, 2026 at 8:14 pm

    Ok I fixed this issue. The problem occurs if you run the PowerShell script before running the batch file (I was unaware that someone had run it before). So, you need to use the converse powershell script file ConvertLookupFieldWithPickerToLookup.ps1 and apply it against the columns. Once you are done, reapply the first file above and it should all work.

    The code is as follows:

    # http://www.iLoveSharePoint.com
    # by Christian Glessner
    
    param([string]$webUrl=$(throw 'Parameter -webUrl is missing!'), 
        [string]$listName=$(throw 'Parameter -listName is missing!'), 
        [string]$fieldTitle=$(throw 'Parameter -fieldTitle is missing!'))
    
    $ErrorActionPreference = "Stop";
    
    $env:12HivesDir = "$env:CommonProgramFiles\Microsoft Shared\web server extensions\12\";
    $null = [System.Reflection.Assembly]::LoadFrom("$env:12HivesDir\ISAPI\Microsoft.SharePoint.dll");
    $site =  New-Object -TypeName "Microsoft.SharePoint.SPSite" -ArgumentList $webUrl;
    $web = $site.OpenWeb();
    $list = $web.Lists[$listName];
    
    $field = $list.Fields[$fieldTitle];
    $schema = [xml]$field.SchemaXml;
    
    if ($schema.Field.AllowMultipleValues -eq $true)
    {
        $schema.Field.Type = "LookupMulti"
    }
    else
    {
        $schema.Field.Type = "Lookup"
    }
    
    $schema.Field.RemoveAttribute("SearchFields");
    $schema.Field.RemoveAttribute("EntityEditorRows");
    $schema.Field.RemoveAttribute("MaxSearchResults");
    
    $field.SchemaXml = $schema.PSBase.OuterXml;
    
    Write-Output "Done."
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Using ASP.NET MVC there are situations (such as form submission) that may require a
Using TortoiseSVN against VisualSVN I delete a source file that I should not have
Using JDeveloper , I started developing a set of web pages for a project
Using C#, I need a class called User that has a username, password, active
Using Javascript, is there a standard way to get the absolute path of an
If I write a python script using only python standard libraries, using Python 2.6
Using CRM 4, I have an entity form that contains a tab with an
Using online interfaces to a version control system is a nice way to have
Using PyObjC , you can use Python to write Cocoa applications for OS X.
Using C# .NET 3.5 and WCF, I'm trying to write out some of the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.