/*******************************************************************************
 * Copyright (c) 2012 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v2.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/


HKCR {
	IECrossfireExtension.ExplorerBar.1 = s 'ExplorerBar Class' {
		CLSID = s '{34EF57F8-9295-483E-B656-4EE154B0B3A5}'
	}
	IECrossfireExtension.ExplorerBar = s 'ExplorerBar Class' {
		CLSID = s '{34EF57F8-9295-483E-B656-4EE154B0B3A5}'
		CurVer = s 'IECrossfireExtension.ExplorerBar.1'
	}
	NoRemove CLSID {
		ForceRemove {34EF57F8-9295-483E-B656-4EE154B0B3A5} = s 'Crossfire Server Panel' {
			ProgID = s 'IECrossfireExtension.ExplorerBar.1'
			VersionIndependentProgID = s 'IECrossfireExtension.ExplorerBar'
			ForceRemove 'Programmable'
			InprocServer32 = s '%MODULE%' {
				val ThreadingModel = s 'Apartment'
			}
			val AppID = s '%APPID%'
			'TypeLib' = s '{A8FFC284-CE2C-40B5-98D1-D3112811E9D9}'
		}
	}
}
