Can anyone help me?
I have created a transform from itunes.msi and I need to add the parental controls, particularly locking the parental controls config.
I am using wise package studio and performed a delta capture of the parental controls which installs reg keys to these two locations:

HKEY_CURRENT_USER\Software\Apple Computer, Inc.\iTunes\Parental Controls

"UserFlags"=dword:0000002d - 45 in decimal.

HKEY_LOCAL_MACHINE\SOFTWARE\Apple Computer, Inc.\iTunes\S-1-5-21-1458507715-2039362767-452798024-16440\Parental Controls

"AdminFlags"=dword:0000002d - 45 in decimal.

I tried to utilise the HKCU reg keys alone but did not work and Apple seems to create a user sid for every configuration change under the iTunes directory. I tried to put Admin and User keys in the HKCU space with no luck...
My question is has anyone found this problem before?

0 Comments   [ + ] Show Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.


The HKCU is straightforward. Use the 'Search' facility to search for 'CurrentUser', 'self-healing' or 'repair'. You'll find a post today with details about how to trigger self-healing.for current user settings.

As to the SID, I think you're going to have to get into script to retrieve the SID for the current user and either set a property which will be used by the MST or to construct and write the registry in that script. Unless anyone knows different...?

I located some code in my script library, if you decide that's the route you want to follow.

blnReturn = GetSIDFromUser(strUser, strSID)
If blnReturn Then
'// do something with contents of strSID
End If

Function GetSIDFromUser(ByVal strUserName, ByRef strSID)
Dim strDomainName
Dim objWMIUser
Dim intSepPos

intSepPos = InStr(strUserName, "\")
If intSepPos > 0 Then
strDomainName = Mid(strUserName, 1, intSepPos - 1)
strUserName = Mid(strUserName, intSepPos + 1)
strDomainName = CreateObject("WScript.Network").UserDomain
End If

On Error Resume Next
Set objWMIUser = GetObject("winmgmts:{impersonationlevel=impersonate}!" & "/root/cimv2:Win32_UserAccount.Domain='" & strDomainName & "'" & ",Name='" & strUserName & "'")
If Err <> 0 Then
Exit Function
End If

On Error GoTo 0

strSID = objWMIUser.SID
GetSIDFromUser = True
End Function
Answered 03/05/2008 by: VBScab
Red Belt

Please log in to comment
The UserSID property may be useful here
Answered 03/06/2008 by: Jamie B
Orange Senior Belt

Please log in to comment

The UserSID property may be useful here
Nice one, JB. Always good to be reminded of th esimple option every now and again! :) Now get on with your work. LOL
Answered 03/06/2008 by: VBScab
Red Belt

Please log in to comment
Answer this question or Comment on this question for clarity