When I look through my registry under HKLM\Software\Microsoft\Windows\CurrentVersion\UserData\[MY USER SID] I don't see any of the database components or IIS components for any of my side by side installations (not the installed copies or the uninstalled copies).
Is there somewhere else I could be looking? A -----Original Message----- From: Amy Rosewater [mailto:arosewa...@spectrumhr.com] Sent: Thursday, December 18, 2008 1:54 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] uninstall fails to drop database, iis objects Rob, That's a really good question. I'm not entirely sure where to check to make sure they are uninstalled, however, it made me wonder about something. I have a requirement for my company that I must be able to install multiple instances of our application side by side. I have embedded transforms to achieve this, and as such the product guid is different every time I install. However, these component guids are not different. Could that have anything to do with it? A -----Original Message----- From: Rob Mensching [mailto:rob.mensch...@microsoft.com] Sent: Thursday, December 18, 2008 1:36 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] uninstall fails to drop database, iis objects Are the Components actually being uninstalled? -----Original Message----- From: Amy Rosewater [mailto:arosewa...@spectrumhr.com] Sent: Thursday, December 18, 2008 12:33 To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] uninstall fails to drop database, iis objects Hi All, My installer is having a problem that didn't used to occur. My install copies files, creates a virtual directory, app pool, local windows user, database and login within that database (amongst other things). When I execute the uninstall, the database, database login, iis virtual directory, iis app pool and web application do not get dropped. I am on the most recent weekly release of Wix 3.0.4813.0 I have attached below my database component, my IIS components, and excerpts from my log file which show that the UninstallSqlData is not executing any of my SqlString/SqlScript elements marked to execute on uninstall. The various properties utilized below are all set to the value used during installation before "ValidateProductID". I can't think of why this stopped working. Is there something obvious that I am doing wrong? Any help anyone can offer would be greatly appreciated. Thanks, Amy My database component is as follows: <Component Id="CreateDatabaseWindowsAuth" Guid="aa332810-e625-11dc-95ff-0800200c9a66"> <Condition><![CDATA[(SQLSERVERISLOCAL="true") AND (SQLUSEWINDOWSAUTH="checked")]]></Condition> <sql:SqlDatabase Id="IVantageDatabaseWA" Server="[SQLSERVER]" Database="[DATABASENAME]" CreateOnInstall="yes" DropOnUninstall="yes"> <sql:SqlFileSpec Id="IVantageDatabaseFileWA" Filename="[DataDirectory][DATABASENAME][DATABASEFILEEXT]" Name="[DATABASENAME]" /> <sql:SqlLogFileSpec Id="IVantageDatabaseLogFileWA" Filename="[DataDirectory][DATABASENAME][DATABASELOGFILENAMEEXT][DATABASE LOGFILEEXT]" Name="[DATABASENAME][DATABASELOGFILENAMEEXT]" /> <!--ON INSTALL--> <sql:SqlString Id="UseNewDatabaseWA" ExecuteOnInstall="yes" SQL="USE [DATABASENAME]" Sequence="002" /> <!--Create database from scripts--> <sql:SqlScript Id="CreateDefaultsWA" ExecuteOnInstall="yes" BinaryKey="iVantage50Defaults.sql" Sequence="003" /> <sql:SqlScript Id="CreateRulesWA" ExecuteOnInstall="yes" BinaryKey="iVantage50Rules.sql" Sequence="004" /> <sql:SqlScript Id="CreateUserDefinedTypesWA" ExecuteOnInstall="yes" BinaryKey="iVantage50UserDefinedDataTypes.sql" Sequence="005" /> <sql:SqlScript Id="CreateTablesWA" ExecuteOnInstall="yes" BinaryKey="iVantage50Tables.sql" Sequence="006" /> <sql:SqlScript Id="CreateForeignKeysWA" ExecuteOnInstall="yes" BinaryKey="iVantage50ForeignKeys.sql" Sequence="007" /> <sql:SqlScript Id="CreateUserDefinedFunctionsWA" ExecuteOnInstall="yes" BinaryKey="iVantage50UserDefinedFunctions.sql" Sequence="008" /> <sql:SqlScript Id="CreateViewsWA" ExecuteOnInstall="yes" BinaryKey="iVantage50Views.sql" Sequence="009" /> <sql:SqlScript Id="CreateStoredProceduresWA" ExecuteOnInstall="yes" BinaryKey="iVantage50StoredProcedures.sql" Sequence="010" /> <!--Create Logins--> <sql:SqlString Id="DropLoginIfExistsWA" ExecuteOnInstall="yes" SQL="if exists (select * from sys.syslogins where name='[SQLAPPLICATIONLOGIN]') DROP LOGIN [SQLAPPLICATIONLOGIN]" Sequence="011" /> <sql:SqlString Id="CreateIVantageApplicationLoginWA" ExecuteOnInstall="yes" SQL="CREATE LOGIN [SQLAPPLICATIONLOGIN] WITH PASSWORD = '[SQLAPPLICATIONPASSWORD]', DEFAULT_DATABASE = [DATABASENAME]" Sequence="012" /> <!--Create Users and Assign to Roles in the database--> <sql:SqlString Id="DropUserIfExistsWA" ExecuteOnInstall="yes" SQL="if exists (select * from sys.sysusers where name='[SQLAPPLICATIONLOGIN]') DROP USER [SQLAPPLICATIONLOGIN]" Sequence="013" /> <sql:SqlString Id="CreateIVantageApplicationUserWA" ExecuteOnInstall="yes" SQL="CREATE USER [SQLAPPLICATIONLOGIN] FOR LOGIN [SQLAPPLICATIONLOGIN]" Sequence="014" /> <sql:SqlString Id="AssignIVantageApplicationUserToRoleWA" ExecuteOnInstall="yes" SQL="sp_addrolemember 'db_owner', '[SQLAPPLICATIONLOGIN]'" Sequence="015" /> <!--On Uninstall Only--> <sql:SqlString Id="DisconnectUsersFromDatabaseWA" ExecuteOnUninstall="yes" ExecuteOnInstall="no" SQL="ALTER DATABASE [DATABASENAME] SET SINGLE_USER with ROLLBACK IMMEDIATE" Sequence="901"/> <sql:SqlString Id="DropLoginIfExistsIninstallWA" ExecuteOnUninstall="yes" ExecuteOnInstall="no" RollbackOnInstall="yes" SQL="if exists (select * from sys.syslogins where name='[SQLAPPLICATIONLOGIN]') DROP LOGIN [SQLAPPLICATIONLOGIN]" Sequence="902" /> </sql:SqlDatabase> </Component> My IIS components are as follows: <iis:WebApplication Id="MainWebApplication" Name="[IISWEBAPPLICATIONNAME]" WebAppPool="WebAppPool" /> <iis:WebDirProperties Id="WebDirPropertiesAnonymous" AnonymousAccess="yes" AnonymousUser="InstallUser" Write="yes" DefaultDocuments="Default.aspx" Execute="yes" Read="yes" Script="yes" AspDetailedError="yes" /> <DirectoryRef Id="TARGETDIR"> <!--These components can be shared across multiple IIS6 Components--> <Component Id="CreateUser" Guid="5f36c780-e62b-11dc-95ff-0800200c9a66"> <Condition><![CDATA[IISMJRVRSN="#6"]]></Condition> <util:User Id="InstallUser" Name="[APPLICATIONUSER]" Password="[APPLICATIONPASSWORD]" CreateUser="yes" PasswordNeverExpires="yes" CanNotChangePassword="yes" RemoveOnUninstall="yes" UpdateIfExists="yes" Domain="[ComputerName]" LogonAsService="yes"> <util:GroupRef Id="IISWorkerProcessGroup"/> </util:User> </Component> <Component Id="CreateAppPool" Guid="28676FA9-2BF7-4815-8732-EF2CF0B8470E"> <Condition><![CDATA[IISMJRVRSN="#6"]]></Condition> <iis:WebAppPool Id="WebAppPool" Name="[IISAPPPOOLNAME]" Identity="other" User="InstallUser" IdleTimeout="0" RecycleMinutes="0" RecycleRequests="0"> <iis:RecycleTime Value="03:00"/> </iis:WebAppPool> </Component> <!--These components have something unique that must be within this specific component IIS6 Component--> <Component Id="CreateVirtualDirectoryAnonymous" Guid="5f9a10ee-72b1-11dc-8314-0800200c9a66"> <Condition><![CDATA[(IISMJRVRSN="#6") AND (IISCONFIGURATIONTYPE="0") AND (IISUSEWINDOWSAUTHENTICATION<>"checked")]]></Condition> <iis:WebVirtualDir Id="WebVirtualDir" Alias="[IISVIRTUALDIRECTORY]" Directory="MainWebDirectory" WebSite="DefaultWebSite" WebApplication="MainWebApplication" DirProperties="WebDirPropertiesAnonymous" /> </Component> </DirectoryRef> >From my log file: Action start 13:02:23: MigrateFeatureStates. Action ended 13:02:23: MigrateFeatureStates. Return value 0. Action start 13:02:23: InstallValidate. Action ended 13:02:27: InstallValidate. Return value 1. Action start 13:02:27: InstallInitialize. Action ended 13:02:27: InstallInitialize. Return value 1. Action start 13:02:27: ProcessComponents. Action ended 13:02:28: ProcessComponents. Return value 1. Action start 13:02:28: UnpublishFeatures. Action ended 13:02:28: UnpublishFeatures. Return value 1. Action start 13:02:28: SchedSecureObjectsRollback. Action start 13:02:28: ExecSecureObjectsRollback. Action ended 13:02:28: ExecSecureObjectsRollback. Return value 1. Action start 13:02:28: ExecSecureObjectsRollback. Action ended 13:02:28: ExecSecureObjectsRollback. Return value 1. Action start 13:02:28: ExecSecureObjectsRollback. Action ended 13:02:28: ExecSecureObjectsRollback. Return value 1. Action start 13:02:28: ExecSecureObjectsRollback. Action ended 13:02:28: ExecSecureObjectsRollback. Return value 1. Action start 13:02:28: ExecSecureObjectsRollback. Action ended 13:02:28: ExecSecureObjectsRollback. Return value 1. Action ended 13:02:28: SchedSecureObjectsRollback. Return value 1. Action start 13:02:28: RollbackCopyFiles. Action ended 13:02:28: RollbackCopyFiles. Return value 1. Action start 13:02:28: StopServices. Action ended 13:02:28: StopServices. Return value 1. Action start 13:02:28: DeleteServices. Action ended 13:02:28: DeleteServices. Return value 1. Action start 13:02:28: UninstallCertificates. UninstallCertificates: Skipping ConfigureCertificates() - required table not present. Action ended 13:02:28: UninstallCertificates. Return value 1. Action start 13:02:28: UninstallSqlData. Action ended 13:03:02: UninstallSqlData. Return value 1. Action start 13:03:02: RemoveAnalysisServerDatabase. SFXCA: Extracting custom action to temporary directory: C:\WINDOWS\Installer\MSI2D3.tmp-\ SFXCA: Binding to CLR version v2.0.50727 Calling custom action ManagedCustomActions!ManagedCustomActions.CustomActions.RestoreRemoveAna lysisServer -- RestoreRemoveAnalysisServer called. -- Remove entered -- Connection string written: Data Source=PETER\INSTANCE1;Password= -- Connected to server. -- Analysis services database dropped Action ended 13:03:06: RemoveAnalysisServerDatabase. Return value 1. Action start 13:03:06: RemoveFiles. Action ended 13:03:06: RemoveFiles. Return value 0. Action start 13:03:06: RemoveFolders. Action ended 13:03:06: RemoveFolders. Return value 1. Action start 13:03:06: UndoCopyFiles. Action ended 13:03:06: UndoCopyFiles. Return value 1. Action start 13:03:06: RemoveReportingServicesDomain. SFXCA: Extracting custom action to temporary directory: C:\WINDOWS\Installer\MSI2D4.tmp-\ SFXCA: Binding to CLR version v2.0.50727 Calling custom action ManagedCustomActions!ManagedCustomActions.CustomActions.RemoveReportingS ervicesDomain -- RemoveReportingServicesDomain called. -- RemoveReportingServicesDomain exception Invalid URI: The hostname could not be parsed.. Action ended 13:03:09: RemoveReportingServicesDomain. Return value 1. Action start 13:03:09: CreateFolders. Action ended 13:03:09: CreateFolders. Return value 1. Action start 13:03:09: ConfigureUsers. Action ended 13:03:09: ConfigureUsers. Return value 1. Action start 13:03:09: InstallFiles. Action ended 13:03:09: InstallFiles. Return value 1. Action start 13:03:09: InstallCertificates. InstallCertificates: Skipping ConfigureCertificates() - required table not present. Action ended 13:03:09: InstallCertificates. Return value 1. Action start 13:03:09: ConfigureIIs. Action start 13:03:09: StartMetabaseTransaction. Action ended 13:03:09: StartMetabaseTransaction. Return value 1. Action start 13:03:09: RollbackMetabaseTransaction. Action ended 13:03:09: RollbackMetabaseTransaction. Return value 1. Action start 13:03:09: CommitMetabaseTransaction. Action ended 13:03:09: CommitMetabaseTransaction. Return value 1. ConfigureIIs: Skipping ScaInstallWebSvcExt() because IIsWebServiceExtension table not present ConfigureIIs: Skipping ScaInstallMimeMap() - required table not present ConfigureIIs: Skipping ScaGetHttpHeaders() - required tables not present. ConfigureIIs: Skipping ScaGetWebErrors() - required tables not present. ConfigureIIs: Skipping ScaInstallWebDirs() because IIsWebDir table not present ConfigureIIs: Skipping ScaInstallFilters() - no IIsFilter table ConfigureIIs: Skipping ScaInstallProperty() - required table not present ConfigureIIs: Skipping ScaWebSvcExtCommit() because there are no web service extensions in the list Action ended 13:03:09: ConfigureIIs. Return value 1. Action start 13:03:09: InstallSqlData. Action ended 13:03:43: InstallSqlData. Return value 1. Action start 13:03:43: DuplicateFiles. Action ended 13:03:43: DuplicateFiles. Return value 1. Action start 13:03:43: SchedXmlConfig. Action ended 13:03:44: SchedXmlConfig. Return value 1. Action start 13:03:44: SchedXmlFile. Action start 13:03:44: ExecXmlFileRollback. Action ended 13:03:44: ExecXmlFileRollback. Return value 1. Action start 13:03:44: ExecXmlFileRollback. Action ended 13:03:44: ExecXmlFileRollback. Return value 1. Action start 13:03:44: ExecXmlFileRollback. Action ended 13:03:44: ExecXmlFileRollback. Return value 1. Action start 13:03:44: ExecXmlFileRollback. Action ended 13:03:44: ExecXmlFileRollback. Return value 1. Action start 13:03:44: ExecXmlFileRollback. Action ended 13:03:44: ExecXmlFileRollback. Return value 1. Action start 13:03:44: ExecXmlFile. Action ended 13:03:44: ExecXmlFile. Return value 1. Action ended 13:03:44: SchedXmlFile. Return value 1. Action start 13:03:44: InstallServices. Action ended 13:03:44: InstallServices. Return value 1. Action start 13:03:44: StartServices. Action ended 13:03:44: StartServices. Return value 1. Action start 13:03:44: RegisterUser. Action ended 13:03:44: RegisterUser. Return value 0. Action start 13:03:44: RegisterProduct. Action ended 13:03:44: RegisterProduct. Return value 1. Action start 13:03:44: PublishFeatures. Action ended 13:03:44: PublishFeatures. Return value 1. Action start 13:03:44: PublishProduct. Action ended 13:03:44: PublishProduct. Return value 1. Action start 13:03:44: InstallFinalize. ExecXmlFile: Configuring Xml File: C:\Program Files\Microsoft SQL Server\MSRS10.INSTANCE1\Reporting Services\ReportManager\Web.config ExecXmlFile: Configuring Xml File: C:\Program Files\Microsoft SQL Server\MSRS10.INSTANCE1\Reporting Services\ReportServer\rsreportserver.config ExecXmlFile: Configuring Xml File: C:\Program Files\Microsoft SQL Server\MSRS10.INSTANCE1\Reporting Services\ReportServer\rssrvpolicy.config ExecXmlFile: Configuring Xml File: C:\Program Files\Microsoft SQL Server\MSRS10.INSTANCE1\Reporting Services\ReportServer\web.config ExecXmlFile: Configuring Xml File: C:\Program Files\Microsoft SQL Server\MSRS10.INSTANCE1\Reporting Services\ReportManager\rsmgrpolicy.config Action ended 13:04:03: InstallFinalize. Return value 1. Action ended 13:04:03: INSTALL. Return value 1. Amy Rosewater SPECTRUM Human Resource Systems Corporation 707 17th Street Suite 3800 Denver CO, 80202 303.592.3403 arosewa...@spectrumhr.com ------------------------------------------------------------------------ ------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix. com/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------ ------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix. com/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------ ------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix. com/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users