The issue, of course, is that the same sequences run for both a first-time installation and maintenance-mode installations (incl. uninstallation), only with different property values.
To ensure an action runs only for a first-time installation, you can attach the condition "Not Installed".
For more information, see this InstallShield newsletter article:
http://www.installshield.com/news/newsletter/devletter/0212dev.htm#3.
The matter is also discussed at some length in Chapter 8 of our new book
Administrator's Introduction to Application Repackaging and Software Deployment using Windows Installer, for more information about which see
www.installshield.com/ispress.