Hmm whith out knowing more about your program.. have you looked at WMI? Here is a code that if you copy and paste as a vbs you can choose to uninstall remotly.
My point is you can put this vbs in asp and manage programs remotely.....
Dim objWshNet
Set objWshNet = CreateObject("Wscript.Network")
strServer = objWshNet.ComputerName
remote_machine_name = InputBox("Enter the name of the machine on which the" + _
Chr(13) + "product is to be installed. Press enter for this machine.", "Machine Name", strServer)
If remote_machine_name <> strServer Then
admin_user = InputBox("Enter the user name. " + Chr(13) + _
"(User must have Administrative privileges.)")
admin_user_password = InputBox("Enter the users password. ")
End If
Set Locator = CreateObject("WbemScripting.SWbemLocator")
If remote_machine_name = strServer Then
Set Service = Locator.ConnectServer(, "root\cimv2")
Else
Set Service = Locator.ConnectServer(remote_machine_name, "root\cimv2", _
admin_user, admin_user_password)
End If
message = message & vbNewLine & vbNewLine & "Find the Name of the Product you wish to uninstall" _
& vbNewLine & "and write the name down for the next prompt." & vbNewLine & vbNewLine
for each Product in GetObject("winmgmts:{impersonationLevel=impersonate,(Debug)}").InstancesOf ("win32_product")
'WScript.Echo Product.Name, Product.InstallDate, Product.Vendor, Product.Version, Product.PackageCache
message = message & vbNewLine & Product.Name & " [" & strFormatMOFTime(Product.InstallDate) & "]"
next
message = message & vbNewLine & vbNewLine & "Find the Name of the Product you wish to" _
& vbNewLine & "uninstall and write the name down for the next prompt."
WScript.Echo message
package_location = InputBox("Enter the name of the package to be uninstalled.", "Package Name", "Dana")
for each Product in GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
("Select * from Win32_Product where Name='" & package_location & "'")
'WScript.Echo Product.Path_
Set InstallSink = WScript.CreateObject("WbemScripting.SWbemSink", _
"INSTALLSINK_")
Service.Security_.ImpersonationLevel=3
Set Path = Product.Path_
Set Method = Product.Methods_.Item("Uninstall")
'Set InParams = Method.InParameters
'Set MyIns = InParams.SpawnInstance_
Set MyIns = nothing
'MyIns.PackageLocation = package_location
'MyIns.AllUsers = "TRUE"
'MyIns.Options = ""
Service.ExecMethodAsync InstallSink, Path, "Uninstall", MyIns, wbemFlagSendStatus
'Service.ExecMethodAsync InstallSink, Path, "Uninstall", wbemFlagSendStatus
WScript.Echo "Waiting for progress."
Next
Sub INSTALLSINK_OnCompleted(hResult, pErrorObject, pAsyncContext)
WScript.Echo ("Uninstallation Complete")
End Sub
Sub INSTALLSINK_OnProgress(iUpperBound, iCurrent, strMessage, objWbemAsyncContext)
if iUpperBound > 0 then
iComplete = (iCurrent * 100)/iUpperBound
'ProgBar.Value = iComplete
' WScript.Echo (CStr(objObject.ReturnValue + "% Complete"))
end if
End Sub
Sub INSTALLSINK_OnObjectReady(objObject, objAsyncContext)
if Not objObject.ReturnValue = 0 Then
WScript.Echo ("Uninstallation failed with following error: " + _
CStr(objObject.ReturnValue))
Else
WScript.Echo ("Uninstallation Succeeded")
End If
End Sub
'********************************************************************
'*
'* Function strFormatMOFTime(strDate)
'*
'********************************************************************
Private Function strFormatMOFTime(strDate)
Dim str
str = Mid(strDate,5,2) & "/" _
& Mid(strDate,7,2) & "/" _
& Mid(strDate,1,4)
strFormatMOFTime = str
End Function