cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
hlipson
Level 3

Uninstall of x64 program gets error 27555

Explicit file permissions are set for some files installed with the x64 version of the product, so that an ordinary user will be able to edit the files on Windows 2008, 7, Vista. When the product is uninstalled, the following error occurs for each of the files that had explicit permissions set:

"Error 27555: Error attempting to apply permissions to object ... . System error: The system cannot find the file specified (2).

If I look in the installation directory at the time of the error, the file referenced in the error message has already been removed.

Clicking "Ignore" in response to the error message continues with the next error message, and finally completes the uninstall when the error has been shown for all the files with explicit file permissions.

The error does not occur when the x86 version of the product is uninstalled.

The test platform in this case is Windows Server 2008 R2 Standard. InstallShield version is 2010 SP1.
Labels (1)
0 Kudos
(4) Replies
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

Permissions should only be applied to resources whose components are being installed (not removed), based on the component state returned to us from Windows Installer. Can you attach a verbose log of this uninstall?
0 Kudos
hlipson
Level 3

Verbose uninstall log attached.
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

This issue appears to be related to the components in this package being installed to multiple locations, which is causing Windows Installer to only partially remove the components on uninstall. For example, the AllOtherFiles2 component that is tied to some resources that have permissions set:

MSI (s) (D4:20) [12:47:00:010]: Allowing uninstallation of shared component: {64C96255-BB7E-4ACE-BA99-C72261E808B4}. Other clients exist, but installed to a different location
MSI (s) (D4:20) [12:47:00:025]: Allowing uninstallation of shared component: {99B4B3F7-6717-4612-BE4E-4E43FB4D393C}. Other clients exist, but installed to a different location
MSI (s) (D4:20) [12:47:00:025]: Allowing uninstallation of shared component: {1DE65ABB-B10F-459F-8DD4-8D6814798887}. Other clients exist, but installed to a different location
MSI (s) (D4:20) [12:47:00:025]: Allowing uninstallation of shared component: {313B47F8-74D1-4B2B-ACCB-D7238342CF70}. Other clients exist, but installed to a different location
MSI (s) (D4:20) [12:47:00:025]: Allowing uninstallation of shared component: {8603CAD0-F522-4FA3-90A5-A2C00636B1A3}. Other clients exist, but installed to a different location
MSI (s) (D4:20) [12:47:00:025]: Allowing uninstallation of shared component: {F4121696-DD67-4D33-9B9D-70C7B2584967}. Other clients exist, but installed to a different location
MSI (s) (D4:20) [12:47:00:025]: Allowing uninstallation of shared component: {BBF5CC4A-4758-4E0B-83E6-E15F4B89F7BB}. Other clients exist, but installed to a different location
...
MSI (s) (D4:20) [12:47:00:025]: Component: AllOtherFiles2; Installed: Local; Request: Absent; Action: FileAbsent


The InstallShield permissions custom action currently checks for the typical component action state of 'Absent'. Since this component has an action state of 'FileAbsent', we are attempting to apply permissions later in the uninstall.

I've reported this issue under work order IOA-000057630. To work around this behavior, change your component codes if you are changing your product code and expect the components to be installed to different locations when each product code change, or, add the condition REMOVE <> "ALL" to the ISLockPermissionsInstall and ISLockPermissionsCosting actions.
0 Kudos
hlipson
Level 3

Josh,
Thanks so much for your response. The problem was that the x86 and x64 versions of the installer had some of the same component ids because I copied the x86 project to begin the x64 version. By changing the x64 component ids, the problem was resolved.
0 Kudos