HKLM
{
    NoRemove System
    {
        NoRemove CurrentControlSet
        {
            NoRemove Services
            {
                NoRemove EventLog
                {
                    NoRemove System
                    {
                        IISCTLS
                        {
                            val EventMessageFile = s '%MODULE%'
                            val TypesSupported = d 7
                        }
                    }
                }
            }
        }
    }
}

HKCR
{
	Iisctl.IisServiceControl.1 = s 'IisServiceControl Class'
	{
		CLSID = s '{E8FB8621-588F-11D2-9D61-00C04F79C5FE}'
	}
	Iisctl.IisServiceControl = s 'IisServiceControl Class'
	{
		CLSID = s '{E8FB8621-588F-11D2-9D61-00C04F79C5FE}'
		CurVer = s 'Iisctl.IisServiceControl.1'
	}
	NoRemove CLSID
	{
		ForceRemove {E8FB8621-588F-11D2-9D61-00C04F79C5FE} = s 'IisServiceControl Class'
		{
			ProgID = s 'Iisctl.IisServiceControl.1'
			VersionIndependentProgID = s 'Iisctl.IisServiceControl'
			ForceRemove 'Programmable'
			LocalServer32 = s '%MODULE%'
			val AppID = s '{E8FB8615-588F-11D2-9D61-00C04F79C5FE}'
			'TypeLib' = s '{E8FB8614-588F-11D2-9D61-00C04F79C5FE}'
		}
		ForceRemove {E8FB8620-588F-11D2-9D61-00C04F79C5FE} = s 'PSFactoryBuffer'
		{
			InprocServer32 = s 'IISRSTAP.DLL'
			{
				val ThreadingModel = s 'Both'
			}
		}
	}
	NoRemove Interface
	{
		ForceRemove {E8FB8620-588F-11D2-9D61-00C04F79C5FE} = s 'IisServiceControl'
		{
			NumMethods = s '12'
			ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}'
			ProxyStubClsid32 = s '{E8FB8620-588F-11D2-9D61-00C04F79C5FE}'
			TypeLib = s '{E8FB8614-588F-11D2-9D61-00C04F79C5FE}'
			{
				val Version = s '1.0'
			}
		}
	}
	NoRemove AppID
	{
		{E8FB8615-588F-11D2-9D61-00C04F79C5FE} = s 'iisctl'
		'iisrsta.EXE'
		{
			val AppID = s {E8FB8615-588F-11D2-9D61-00C04F79C5FE}
		}
	}
}