Friday, February 23, 2018

SharePoint Designer 2010: Cannot load C:\PROGRA...\fpsrvutl.dll

Problem

The problem involved attempting to install SharePoint Designer 2010 (32-bit) to Microsoft Windows 7 hosted on a VMware Horizon Client.  The first issue encountered occurred during installation, when the installation routine was unable to find and install a component. After working through this problem, a new one was encountered that occurred when attempting to launch the product. This posting documents the troubleshooting steps taken and the solution that was found to this problem.

Troubleshooting

  1. Action: Attempted to install SharePoint Designer 2010 (32-bit) onto Windows 10. 
    1. Result: installation failed due to inability to the inability to find a needed component.
      SharePoint Designer requires the following component to be installed: Microsoft .NET Framework Version 3.5 SP1.
    2. Research: Checking Windows 10 installed features verified that .NET Framework 3.5 was not installed:
      .
  2. Action: attempted to install .NET Framework 3.5. This required files to be downloaded.
    1. Result: Windows was unable to find the required files to complete the request changes. Error code: 0x800F081F.
      .
    2. Research: searched for and found related reference; error code indicated that there was a path problem for Windows to find needed files.  However, no option was provided during the download process for indicating a path, which suggest that this option was locked down by GPO.  Rather than engage in paperwork delays, it was suggested to try a Windows 7 VMware Horizon client.
  3. Action: attempted installation of SharePoint Designer 2010 (32-bit) onto Windows 7 (64-bit) on VMware Horizon client.
    1. Result: During installation, experienced Error 1712, One or more of the files required to restore your computer to its previous state could not be found.  Restoration will not be possible.  Setup failed. Rolling back changes...
      .
    2. Research: one post seemed to indicate that a simple re-installation attempt might work, after performing a reboot of the machine.  
  4. Action: rebooted machine and then attempted re-installation.
    1. Result: succeeded.
  5. Action: attempted to launch SharePoint Designer 2010 (32-bit).
    1. Result: experienced new error, Cannot load "C:\PROGRA~2\COMMON~1\MICROS~1\Web Server Extensions\14\BIN\fpsrvutl.dll".
      .
    2. Research: one post seemed to indicate that there might be an incompatibility with Office 2016.  Spoke with VMware Horizon Administrator, who confirmed that Office 2016 is installed to new Windows 7 clients bey default.  The administrator then redeployed the client without Office 2016 installed.
  6. Action: attempted to uninstall SharePoint Designer 2010 (32-bit).  
    1. Result: The uninstallation completed but with an error: Microsoft SharePoint Designer 2010 uninstall did not complete successfully.
      .
    2. Research: found one posting that led to discovery of a Microsoft tool for removing Office from a machine.
  7. Action: used tool to attempt to remove all Office components and artifacts from Windows 7 client.
    1. Result: successful.
  8. Action: performed re-installation of SharePoint Designer 2010 (32-bit).
    1. Result: Successful.
  9. Action: attempted to launch Designer again.
    1. Result: experienced new error, Cannot load "C:\PROGRA~2\COMMON~1\MICROS~1\Web Server Extensions\14\BIN\fpsrvutl.dll".
    2. Research: checking machine logs, found a number of warnings concerning the inability to modify various registry keys and subkeys. One posting seemed to indicate that perhaps installed AV was preventing access.  Discussed this with VMware Horizon administrator who indicated that a Windows 7 client could be deployed that did not have AV installed.  Checking the permissions for these keys found that the identity under which the modification was being performed was the identity of the user that performed the installation and attempted to launch SPD2010.  Verified that this identity was a member of the local Administrators group.  Checked the permissions of the local Administrators group for the listed registry keys and subkeys and found that this group only had READ permission for each and every listed key.
  10. Action: performed installation of SharePoint Designer 2010 (32-bit) onto new Windows 7 client that did not have Office of AV installed.
    1. Result: successful.
  11. Action: attempted to launch SPD2010 on new client.
    1. Result: experienced same error as previously, Cannot load "C:\PROGRA~2\COMMON~1\MICROS~1\Web Server Extensions\14\BIN\fpsrvutl.dll".
    2. Research: given the nature of the warnings, it was determined that perhaps modifying the permissions of the listed registry keys and subkeys so as to grant the local Administrators group full control would resolve the launch issue.
  12. Action: changed ownership of each of the listed keys to the local administrators group, and then granted the local Administrators group Full Control; and then attempted to launch SPD2010 - again on new client.
    1. Result: same error as previously.
    2. Research: reviewing the machine log, found same warnings.  Then determined that granting the local Administrators group Full Control to each of the registry hives might resolve the issue.
  13. Action: changed ownership of each of the hives containing the listed keys to the local Administrators group, and then changed the permission granted to the local Administrators group to Full Control.  Then tried re-installing and re-launching on new client
    1. Result: successful installation but launching failed with usual error.
    2. Research: discussed with other staff members who did have SharePoint Designer 2010 successfully installed.  Checked their installation files against the one that was used and found significant difference in size.  Checking this further found that the version used by other staff members was 64-bit version.  This suggested that perhaps 64-bit version might be successfully installed and operated on Windows 7 VMware Horizon client.
  14. Action: completely removed SharePoint Designer 2010 (32-bit) from Windows 7 VMware Horizon original client (used previously in steps 3 - 9).  Performed fresh install, which was successful.  Then attempted to launch.
    1. Result: SharePoint Designer 2010 (64-bit) successfully launched and was able to successfully connect to sites.

Solution

  • On Windows 7 VMware Horizon clients, install 64-bit version of SharePoint Designer 2010.

References

  • Listing of all warnings found in Application log:
    • \Software\Classes\Interface\{85AEE342-48B0-4244-9DD5-1ED435410FAB}\TypeLib
    • \Software\Classes\Interface\{85AEE342-48B0-4244-9DD5-1ED435410FAB}\TypeLib
    • \Software\Classes\Interface\{85AEE342-48B0-4244-9DD5-1ED435410FAB}\ProxyStubClsid3
    • \Software\Classes\Interface\{85AEE342-48B0-4244-9DD5-1ED435410FAB}\ProxyStubClsid
    • \Software\Classes\Interface\{85AEE342-48B0-4244-9DD5-1ED435410FAB}
    • \Software\Classes\Interface\{1BB5DDC2-31CC-4135-AB82-2C66C9F00C41}\TypeLib
    • \Software\Classes\Interface\{1BB5DDC2-31CC-4135-AB82-2C66C9F00C41}\ProxyStubClsid32
    • \Software\Classes\Interface\{1BB5DDC2-31CC-4135-AB82-2C66C9F00C41}\ProxyStubClsid
    • \Software\Classes\Interface\{1BB5DDC2-31CC-4135-AB82-2C66C9F00C41}
    • \Software\Classes\Interface\{2DBEC0A7-74C7-4B38-81EB-AA8EF0C24900}\TypeLib
    • \Software\Classes\Interface\{2DBEC0A7-74C7-4B38-81EB-AA8EF0C24900}\ProxyStubClsid32
    • \Software\Classes\Interface\{2DBEC0A7-74C7-4B38-81EB-AA8EF0C24900}\ProxyStubClsid
    • \Software\Classes\Interface\{2DBEC0A7-74C7-4B38-81EB-AA8EF0C24900}
    • \Software\Classes\Interface\{5DE00405-F9A4-4651-B0C5-C317DEFD58B9}\TypeLib
    • \Software\Classes\Interface\{5DE00405-F9A4-4651-B0C5-C317DEFD58B9}\ProxyStubClsid32
    • \Software\Classes\Interface\{5DE00405-F9A4-4651-B0C5-C317DEFD58B9}\ProxyStubClsid
    • \Software\Classes\Interface\{5DE00405-F9A4-4651-B0C5-C317DEFD58B9}
    • \Software\Classes\TypeLib\{56D04F5D-964F-4DBF-8D23-B97989E53418}\1.5\0\win32
    • \Software\Classes\TypeLib\{56D04F5D-964F-4DBF-8D23-B97989E53418}\1.5\HELPDIR
    • \Software\Classes\TypeLib\{56D04F5D-964F-4DBF-8D23-B97989E53418}\1.5\FLAGS
    • \Software\Classes\TypeLib\{56D04F5D-964F-4DBF-8D23-B97989E53418}\1.5
    • \Software\Classes\CLSID\{8854F6A0-4683-4AE7-9191-752FE64612C3}\InprocServer32
    • \Software\Classes\CLSID\{8854F6A0-4683-4AE7-9191-752FE64612C3}\TypeLib
    • \Software\Classes\CLSID\{3050F667-98B5-11CF-BB82-00AA00BDCE0B}\InprocServer32
    • \Software\Classes\CLSID\{3050F819-98B5-11CF-BB82-00AA00BDCE0B}\InprocServer32
    • \Software\Classes\CLSID\{AE24FDAE-03C6-11D1-8B76-0080C744F389}\InprocServer32
    • \Software\Classes\CLSID\{25336920-03F9-11CF-8FD0-00AA00686F13}\InprocServer32
    • \Software\Classes\CLSID\{3050F391-98B5-11CF-BB82-00AA00BDCE0B}\InprocServer32
    • \Software\Classes\TypeLib\{00020430-0000-0000-C000-000000000046}\2.0
    • \Software\Classes\CLSID\{0BE35204-8F91-11CE-9DE3-00AA004BB851}\InprocServer32
    • \Software\Classes\CLSID\{0BE35203-8F91-11CE-9DE3-00AA004BB851}\InprocServer32
    • \Software\Classes\TypeLib\{2A75196C-D9EB-4129-B803-931327F72D5C}\2.8
    • \Software\Classes\Interface\{BEF6E003-A874-101A-8BBA-00AA00300CAB}\TypeLib
    • \Software\Classes\Interface\{BEF6E003-A874-101A-8BBA-00AA00300CAB}\ProxyStubClsid32
    • \Software\Classes\Interface\{BEF6E003-A874-101A-8BBA-00AA00300CAB}\ProxyStubClsid
    • \Software\Classes\Interface\{BEF6E003-A874-101A-8BBA-00AA00300CAB}

Thursday, February 22, 2018

SharePoint Online: Technical Migration Plan Template

Assess

Elements

  • Inventory existing SharePoint structure and content
  • Analyze existing on-premises farm structures vs SharePoint Online
  • Perform RAM disposition analysis of SharePoint content
  • Perform RMR disposition analysis of SharePoint structure

Notes

  • SharePoint “structures” includes such things as: workflows, farm and web application configuration, service application configurations (e.g., Search, UPA, MM), farm and sandbox solutions, master page customizations, custom pages, SharePoint user groups, metadata, script, etc.
  • RAM: Remove, Archive or Migrate.  
  • RMR: Remove, Migrate or Rebuild.  As a “Rebuild” example, farm solutions will not migrate to O365 (see Developer: Full-Trust Solutions in the References), though will likely migrate to 2016 on-prem.  Migrating farm solutions to O365 would require rebuild based upon the new SharePoint App model, where server-side code is hosted on a dedicated server.

References

  • tbd

Plan

Elements

  • Categorize SharePoint structures and content by disposition type
  • Research disposition type methods, challenges, constraints and resources
  • Develop disposition methods
  • Validate disposition methods
  • Draft disposition method procedures

Notes

  • tbd

References

  • tbd

Perform

Elements

  • Implement disposition method procedures
  • Document any exceptions to procedures
  • Research, implement and document workarounds to exceptions
  • Validate execution of disposition method procedures
  • Validate workarounds to exceptions

Notes

  • tbd

References

  • tbd

Review

Elements

  • Verify all procedures implemented as written
  • Identify procedure exceptions, workarounds, failures
  • Verify that they have been documented
  • Verify removed, archived or migrated content
  • Verify removed, migrated or rebuilt structures

Notes

  • tbd

References

  • tbd

Monday, February 19, 2018

SharePoint 2013: Considerations when architecting new organizational site


Introduction

There are several key considerations that need to be considered when developing a new organizational site. These involve the site's logical, data and security architectures. The site's logical architecture involves planning such aspects as the site's: URL path, web application configuration, application pool and service account provisioning and configuration, service application connections, and infrastructure features. Its data architecture involves planning such aspects as the number of site collections to assign per content database and the general relationship of content databases vis a vis the site architecture.  Lastly, the site's security architecture involves planning such aspects as site: user account administration, the use of AD groups and AD structure,  SharePoint user groups and authentication methods. 
 
In this posting, I consolidate notes associated with planning the architecture of a new organizational site deployed to an existing SharePoint 2013 infrastructure.  The new organization is large, numbering several thousand users and presents a standard organizational hierarchy: company > business unit > department > project.

Logical Architecture

  • Deploy as dedicated web application having dedicated application pool.
  • Use existing default or create custom service application grouping as needed.
  • Publishing Infrastructure site collection feature activated for all site collections.
  • Dedicated site collection for each company business unit.
  • Organizational site root also dedicated site collection.

Data Architecture

  • Each business unit site collection is contained within its own dedicated content database.
  • Root contained within dedicated content database.

Security Architecture

  • Dedicated AD user groups created in organizational domain for each company department.
  • Dedicated global AD user group containing all organizational department user groups.
  • SharePoint user groups populated with departmental and global AD user groups whenever permissions must be assigned across departments or organization.
  • Standard SharePoint user groups and permission levels.

Notes

  • Dedicating a web application and application pool to the organizational site enables:
    • Unique domain name
    • Logical grouping within single container (the web application)
    • Maximum separation of web application processes from other organizational processes using the SharePoint infrastructure.

  • Dedicating content databases to business unit site collections greatly facilitates ease of business unit site maintenance, upgrade and capacity management.
  • Populating SharePoint user groups with dedicated AD users groups greatly facilitates user account permissions management.
  • Using a standard AD user group (that contains all of the dedicated departmental AD user groups) when needing to assign permissions across all organizational users greatly reduces the risk associated with using such security principals as Everyone and AUTHENTICATED USERS or the DOMAIN USERS group.

References