Shared files not uninstalled
Posted: Mon Jul 20, 2009 1:38 pm
I have an install package with multiple components. A set of files are shared among these components. However, when everything is uninstalled, any file marked as shared is not being removed from the system. Other than marking the file as shared, what must be done to get these files to be removed during uninstall?
I can reproduce the problem:
All of the following MSIcode is as generated by InstallAware:
Thanks,
I can reproduce the problem:
- 1) Start with a default "Basic Setup" project (called SharedDll)
2) Add two components (called A and B)
3) Add a single dll to each component (Dummy.dll), marking the dll as shared for both components
All of the following MSIcode is as generated by InstallAware:
Code: Select all
DEFINE REGION: Perform Uninstallation
if Variable REMOVE Equals TRUE
Comment: Uninstall product
Comment: TO-DO: Insert any additional uninstall commands here
Apply Uninstall (get result into variable SUCCESS)
Set Variable PROGRESS to 100
else
END REGION
DEFINE REGION: Perform First Time or Maintenance Installation
Comment: Install/Re-Install product
Create Shortcut $SHORTCUTFOLDER$\\Uninstall #TITLE# to $UNINSTALLLINK$
[OFFLINE CONTENT]
[DEFINE WEB MEDIA A]
Get Component SharedDll\\A Selection State into Variable SELECTED
if Variable SELECTED Equals TRUE
Install Files Z:\\Temp\\Dummy.dll to $TARGETDIR$ (Shared)
end
[DEFINE WEB MEDIA B]
Get Component Shared Dll\\B Selection State into Variable SELECTED
If Variable SELECTED Equals TRUE
Install Files Z:\\Temp\\Dummy.dll to $TARGETDIR$ (Shared)
end
[DEFINE WEB MEDIA SharedDll]
Get Component SharedDll Selected State into Variable SELECTED
If Variable SELECTED Equals TRUE
end
Comment: TO-DO: Insert any additional install commands here
[compiler if Variable BUILDMODE Equals PATCH]
Apply Patch (get result into variable SUCCESS)
[compiler else]
if Variable ADVERTISE Equals TRUE
Apply Advertise (get result into variable SUCCESS)
else
Apply Install (get result into variable SUCCESS)
end
[compiler end]
Set Variable PROGRESS to 100
end
END REGION