I wrote a VB6 disk imaging app using SmartWim instead of the wimgapi sdk because of the hanging issues and lack of event sinking to script clients. SmartWim is an ActiveX component from http://www.smartdeploy.com that is based on the Wimgapi SDK and works flawlessly in VB, VBScript, DHTML, etc. For instance, here is some VB6 code that applies an image while displaying a progress bar: ' In a form Private WithEvents objSmartWim As SmartWim Private Sub Command1_Click() Dim ResultCode As swcError Set objSmartWim = New SmartWim objSmartWim.File = "C:\Image.wim" objSmartWim.Name = "My Test Image" objSmartWim.Path = "C:\Test" ResultCode = objSmartWim.ApplyImage() MsgBox objSmartWim.GetErrorDescription(ResultCode) Set objSmartWim = Nothing End Sub Private Sub objSmartWim_Progress(ByVal nPercent As Integer, ByVal nSeconds As Long) ProgressBar1.Value = nPercent End Sub That's it! No hangs, no gigantic declare sections, etc. Have fun...