Jump to content

Recommended Posts

Posted (edited)

As stated in the title W7T freezes hours while deleting WinSxS\Backup folder.

I went to the mount path then Windows\winsxs\Backup, I tired to delete a file but with no success. "Properties" of Backup folder then "Security" then I found it has an unknown owner SID and my user account had no right to modify or delete... I set the owner as "Administrators" then grant them full rights. I went back to W7T and voila unleashed!

I guess that the issue of security rights could affects other functions in W7T not only WinSxS Backup folder!

W7T just close suddenly while it took long time to remove Speech support.

using "ProcExp" I see W7T calling cmd.exe frequently each second with no command line parameters. this remark is independent of the issue stated in this topic.

Edited by Legolash2o
  • Replies 57
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Posted (edited)

The same thing in my Win7 Toolkit appears. While speech and natural language removing it crashes ! The proggie wants to be closed or the debug modus. But when I take the debug modus nothing happens. and I must close the proggie and start again.

post-17491-0-43344400-1321137314_thumb.j

Here is the second picture.

post-17491-0-93528600-1321137519_thumb.j

Edited by Legolash2o
Posted (edited)

Maybe because I'm runing W7T under XP SP3 French (customizing Win7 x86)!

Anyway, the problem source is the same as in http://www.wincert.n...-backup-folder/

Here is the solution: I set the owner for the mount folder as "Administrators" then grant full rights to "Administrators" all these operations with the option of "overwriting child security rights attributes". I'm not sure about the exact term because I'm using a French version of XP.

I guess that the issue of security rights could affects other functions in W7T not only WinSxS Backup folder!

That's true!

http://www.wincert.n...speech-support/

Edited by Legolash2o
Posted (edited)

@RicaNeaga

But you have a 32-bit version. I tried with a 64-bit !! Is it possible that only the 64-bit version is hit of this bug ?

What OS are you currently using, i'm using Win7 x64 and when i customize a x86 image it works fine however i have not tested customizing a x64 image.

Maybe because I'm runing W7T under XP SP3 French (customizing Win7 x86)!

Anyway, the problem source is the same as in http://www.wincert.n...-backup-folder/

Here is the solution: I set the owner for the mount folder as "Administrators" then grant full rights to "Administrators" all these operations with the option of "overwriting child security rights attributes". I'm not sure about the exact term because I'm using a French version of XP.

That's true!

http://www.wincert.n...speech-support/

W7T uses:


RunExternal("takeown /f " + "\"" + F + "\"" + " /r /d y");
RunExternal("Icacls " + "\"" + F + "\"" + " /t /c /Q /grant *S-1-1-0:F");

Does XP have takeown and icacls?

Edited by Legolash2o
Posted

W7T uses:


RunExternal("takeown /f " + "\"" + F + "\"" + " /r /d y");
RunExternal("Icacls " + "\"" + F + "\"" + " /t /c /Q /grant *S-1-1-0:F");

Does XP have takeown and icacls?

Xp doesn't have takeown and icacls!

About:RunExternal("takeown /f " + "\"" + F + "\"" + " /r /d y");

Works for English version.

With my Windows 7 French version, I need to use:

RunExternal("takeown /f " + "\"" + F + "\"" + " /r /d o");

y=yes

o=oui

It seems there is some problem with Windows 7 localized versions!

Regards

Posted (edited)

Looks like i will have to get the C# equivalent of changing ownership via code :(

EDIT: Wow, that was suprisingly easy, W7T will no longer use takeown or icacls, any fancy testing the new method?

Edited by Legolash2o
Posted

W7T uses:


RunExternal("takeown /f " + "\"" + F + "\"" + " /r /d y");
RunExternal("Icacls " + "\"" + F + "\"" + " /t /c /Q /grant *S-1-1-0:F");

Does XP have takeown and icacls?

I did not tried yet the test version you PM to me. But I have a suggestion for an alternative for both "takeown" and "lcacls": subinacl.exe.

Here is the syntax for taking ownership (S-1-5-32-544 = Administrators (En) = Administrateurs (Fr) = ...):


subinacl /subdirectories . /setowner=S-1-5-32-544

and here is the syntax for granting full rights to the Administrators group:


subinacl /subdirectories . /grant=S-1-5-32-544=f

Here is the official link from Microsoft to download "subinacl":

http://www.microsoft...ang=en&id=23510

By the way, subinacl can perform security operation on evrething: files, directories (or both), services, registry, shares, printers, processes...

I guess it's more convenient to use S-1-5-32-544 (Administrators) than S-1-1-0 (Everyone).

Posted

using "ProcExp" I see W7T calling cmd.exe frequently each second with no command line parameters. this remark is independent of the issue stated in this topic.

Is there an explanation for that?

Posted (edited)

This can be done also using SetACL.exe (x86 or x64):

http://helgeklein.co...ion-setacl-exe/

Extract:

System Requirements

SetACL works on all Windows NT based operating systems from Windows 2000 onwards. The newer, the better. This includes: Windows 2000 Professional and Server, Windows XP, Windows Server 2003 (R2), Windows Vista, Windows Server 2008, Windows 7 and Windows Server 2008 R2.

Extract:

Is the trustee name a SID? y Yes n No

Specifying trustees as SIDs instead of using their names can be very useful in multi-language environments, because SIDs are language-independent, whereas predefined names are not. An example: the group ‘administrators’ is called ‘administratoren’ in german Windows versions. If you want your SetACL script to run on servers installed in either language you can use the well-known SID of the group ‘administrators’. Well-known SIDs are identical on every system.

However some files and folders are Windows 7 version specific and can't be removed if they aren't writed with the correct name:

examples: en-US; fr-FR; de-DE;etc.!

Regards

Edited by myselfidem
Posted

Wow, that was suprisingly easy, W7T will no longer use takeown or icacls, anyone fancy testing the new method?

It says cannot find the specified file! see the attachment.

The paths stated in the error are corrects. But, it's true, I couldn't find "Packages.exe" in the "W7T.exe" folder as I used to in the other versions of W7T. Maybe you forgot to include it.

After closing the error W7T claims is deleting files from Backup (2142 files) but in reality it doesn't! Then it hangs while deleting the last file (the file 2142/2142).

Moreover, I tried to manually delete a file from WinSxS folder while the image is mounted and it says "...access denied... " or something like that, this is obvious since my user account still doesn't have the right to do so. I guess the problem will persist even if the "Packages.exe" issue is resolved.

I still see W7T constantly calling cmd.exe with no arguments! why is that for?!!

post-27421-0-59760400-1321205050.jpg

Posted (edited)

For the moment, don't worry about Windows 7 localized version, but i think you can tell that "removal components" is only available for English version...And you are working for a workaround for local version?

It's better to improve your awesome software for English version!

Regards

Edited by myselfidem
Posted

Hmm, this is tougher than i thought, i keep getting a "Attempted to perform an unauthorized operation file" error :(

Just include subinacl.exe (or setACL.exe) in W7T.exe the same way you do with "Packages.exe" and run the following commands instead of "takeown" and "Icalcs"

I did not tried yet the test version you PM to me. But I have a suggestion for an alternative for both "takeown" and "lcacls": subinacl.exe.

Here is the syntax for taking ownership (S-1-5-32-544 = Administrators (En) = Administrateurs (Fr) = ...):


subinacl /subdirectories . /setowner=S-1-5-32-544

and here is the syntax for granting full rights to the Administrators group:


subinacl /subdirectories . /grant=S-1-5-32-544=f

Here is the official link from Microsoft to download "subinacl":

http://www.microsoft...ang=en&id=23510

By the way, subinacl can perform security operation on evrething: files, directories (or both), services, registry, shares, printers, processes...

I guess it's more convenient to use S-1-5-32-544 (Administrators) than S-1-1-0 (Everyone).

Here is the complete reference for SIDs:

http://support.microsoft.com/kb/243330

Posted

For the moment, don't worry about Windows 7 localized version, but i think you can tell that "removal components" is only available for English version...And you are working for a workaround for local version?

It's better to improve your awesome software for English version!

Regards

Why do you say that?

Nothing depends on the language of Windows 7. Except for Administrators/Administrateurs/Administratoren where you can use SIDs instead and stay in peace.

Posted (edited)

I'm in peace! :P

How it's possible to takewonership and remove a file or a folder NOT SPECIFIED (example:fr-FR)??

http://www.wincert.n...dpost__p__79112

Primo, this has nothing to do with the our topic here.

Secundo, when removing a package you only have to know its name (short name not its folder name in WinSxS folder) or its GUID and DISM take care of the rest. I can't find an example or a situation where you have to delete a language specific folder.

Sorry for my English! :welcome6ld:

EDIT: Orthographic corrections!

Edited by anass_f

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...