0

I have an application which on install, will unpackage 3 files (1 x .exe, 2 x DLL's).

When I run the application, it pulls down files (around the 300 mark) from binary fields in SQL and converts them to files and places them in the install directory.

When I uninstall, this will only get rid of the 3 original files that were unpackaged initially and will leave all of the other files that were pulled down after running the application.

I am using Installsheild LE within my solution and I'm wondering if there is any way which I can make it delete everything from the install location opposed to just the 3 original files?

Thanks :)

Cubsoft
  • 1,147
  • 1
  • 10
  • 32
  • Hack your MSI file using Orca - see http://geekswithblogs.net/ajshurts/archive/2005/07/27/48388.aspx – stuartd Oct 10 '13 at 15:07
  • I need this to be done every time in an automated process without additional user interaction, does this way do that? – Cubsoft Oct 10 '13 at 15:15
  • You can [use VBS to script changes to the MSI tables](http://msdn.microsoft.com/en-us/library/aa368562.aspx), so possibly you could script the insert to the RemoveFile table as part of your process. – stuartd Oct 10 '13 at 15:18
  • Another option from http://stackoverflow.com/a/2727350/43846 is to use [msitran](http://msdn.microsoft.com/en-us/library/windows/desktop/aa370495.aspx) to transform the generated MSIs. – stuartd Oct 10 '13 at 15:21

1 Answers1

0

Windows Installer by default only services files it installed. Everything else is considered user data and left alone. Your root problem is that you are subverting your installer with this home brewed auto update pattern.

Windows Installer has a table called "RemoveFiles" that can be used to delete additional files. ISLE doesn't expose this table though (nor did the tool it was designed to replace.).

You're options would be to write a custom action to delete the files or use Windows Installer XML to author a merge module with the needed RemoveFile table entries. This MSM could then be consumed by ISLE.

Christopher Painter
  • 54,556
  • 6
  • 63
  • 100