Blog coding and discussion of coding about JavaScript, PHP, CGI, general web building etc.

Friday, April 15, 2016

The install log for a WIX-based installer indicates the installation process occurs twice, making custom actions occur at unexpected times

The install log for a WIX-based installer indicates the installation process occurs twice, making custom actions occur at unexpected times


I have WiX installers with two C# custom actions (CAs) that first get the default settings, and then save settings provided during the installation.

  • The LOAD custom action runs After="CostFinalize"
  • The SAVE custom action runs After="InstallFiles"...

Check out the log file, though... You'll see those phases inexplicably occur TWICE in any particular installation run, the FIRST time failing to perform tasks that would normally occur during those phases (such as during InstallFiles, NO files are installed until the second occurrence of the InstallFiles phase in the single install).

This is a problem, because the save function must operate on the app.config file as deployed to its install folder, but after the first ocurrence of InstallFiles, this file has not yet moved to its expected location, causing the load of it to fail during the save custom action....

Looking further through the installation, you'll see the phases repeat, but this time actually deploying files during InstallFiles, but the custom action no longer runs at that point, as it already ran after the first instance...

What is happening here?

Log file

=== Logging started: 1/25/2011  16:08:06 ===  Action 16:08:06: INSTALL.   Action start 16:08:06: INSTALL.  Action 16:08:06: FindRelatedProducts. Searching for related applications  Action start 16:08:06: FindRelatedProducts.  Action ended 16:08:06: FindRelatedProducts. Return value 1.  Action 16:08:06: ValidateProductID.   Action start 16:08:06: ValidateProductID.  Action ended 16:08:06: ValidateProductID. Return value 1.  Action 16:08:06: CostInitialize. Computing space requirements  Action start 16:08:06: CostInitialize.  Action ended 16:08:06: CostInitialize. Return value 1.  Action 16:08:06: FileCost. Computing space requirements  Action start 16:08:06: FileCost.  Action ended 16:08:06: FileCost. Return value 1.  Action 16:08:06: CostFinalize. Computing space requirements  Action start 16:08:06: CostFinalize.  Action ended 16:08:06: CostFinalize. Return value 1.  Action 16:08:06: LoadSchedulerConfigDefaults.   Action start 16:08:06: LoadSchedulerConfigDefaults.  SFXCA: Extracting custom action to temporary directory: C:\DOCUME~1\ELOY06~1\LOCALS~1\Temp\MSI53A.tmp-\  SFXCA: Binding to CLR version v2.0.50727  Calling custom action WIXCustomActions!WIXCustomActions.CustomActions.LoadSchedulerConfigDefaults  *** LoadSchedulerConfigDefaults ***  Attempting to load the REGISTRY settings for database connectivity to the ccp database...  Attempting to set into the session the pre-existing registry keys...  CCP_DATABASE => orangeCCP  CCP_SERVER => desk06096d  CCP_UIS => SSPI  CCP_CONNECTIONTIMEOUT => 240  Attempting to load the REGISTRY settings for database connectivity to the cca database...  Attempting to set into the session the pre-existing registry keys...  CCA_DATABASE => orangeCCA  CCA_SERVER => desk06096d  CCA_UIS => SSPI  CCA_CONNECTIONTIMEOUT => 240  Attempting to load the REGISTRY settings for database connectivity to the ccc database...  Attempting to set into the session the pre-existing registry keys...  CCC_DATABASE => orangeCCC  CCC_SERVER => desk06096d  CCC_UIS => SSPI  CCC_CONNECTIONTIMEOUT => 240  Attempting to load the REGISTRY settings for database connectivity to the ccr database...  Attempting to set into the session the pre-existing registry keys...  CCR_DATABASE => orangeCCR  CCR_SERVER => desk06096d  CCR_UIS => SSPI  CCR_CONNECTIONTIMEOUT => 240  Attempting to load the app.config File to read the defaults at C:\Program Files\eLoyalty\eLoyalty Scheduler Service\eLoyalty.SchedulerService.exe.config.  Unable to read AppConfig file at C:\Program Files\eLoyalty\eLoyalty Scheduler Service\eLoyalty.SchedulerService.exe.config. This is probably a first-time installation.  Action ended 16:08:07: LoadSchedulerConfigDefaults. Return value 1.  Action 16:08:07: WelcomeDlg.   Action start 16:08:07: WelcomeDlg.  Info 2898. For WixUI_Font_Normal textstyle, the system created a 'Tahoma' font, in 0 character set, of 13 pixels height.  Info 2898. For WixUI_Font_Bigger textstyle, the system created a 'Tahoma' font, in 0 character set, of 19 pixels height.  Action 16:08:07: WelcomeDlg. Dialog created  Info 2898. For WixUI_Font_Title textstyle, the system created a 'Tahoma' font, in 0 character set, of 14 pixels height.  Action 16:08:08: MyInstallDirDlg. Dialog created  Action 16:08:09: LoadSchedulerConfigDefaults.   Action start 16:08:09: LoadSchedulerConfigDefaults.  Action ended 16:08:10: LoadSchedulerConfigDefaults. Return value 1.  Action 16:08:10: WixUIValidatePath.   Action start 16:08:10: WixUIValidatePath.  Action ended 16:08:10: WixUIValidatePath. Return value 1.  Action 16:08:10: SetupRegistryDlg. Dialog created  Action 16:08:11: SetupRegistryDlg2. Dialog created  Action 16:08:19: VerifyReadyDlg. Dialog created  Action ended 16:08:19: WelcomeDlg. Return value 1.  Action 16:08:19: ProgressDlg.   Action start 16:08:19: ProgressDlg.  Action 16:08:19: ProgressDlg. Dialog created  Action ended 16:08:19: ProgressDlg. Return value 1.  Action 16:08:19: ExecuteAction.   Action start 16:08:19: ExecuteAction.  Action 16:08:20: INSTALL.   Action start 16:08:20: INSTALL.  Action 16:08:20: FindRelatedProducts. Searching for related applications  Action start 16:08:20: FindRelatedProducts.  Action ended 16:08:20: FindRelatedProducts. Return value 0.  Action 16:08:20: ValidateProductID.   Action start 16:08:20: ValidateProductID.  Action ended 16:08:20: ValidateProductID. Return value 1.  Action 16:08:20: CostInitialize. Computing space requirements  Action start 16:08:20: CostInitialize.  Action ended 16:08:20: CostInitialize. Return value 1.  Action 16:08:20: FileCost. Computing space requirements  Action start 16:08:20: FileCost.  Action ended 16:08:20: FileCost. Return value 1.  Action 16:08:20: CostFinalize. Computing space requirements  Action start 16:08:20: CostFinalize.  Action ended 16:08:20: CostFinalize. Return value 1.  Action 16:08:20: InstallValidate. Validating install  Action start 16:08:20: InstallValidate.  Action ended 16:08:20: InstallValidate. Return value 1.  Action 16:08:20: RemoveExistingProducts. Removing applications  Action start 16:08:20: RemoveExistingProducts.  Action ended 16:08:20: RemoveExistingProducts. Return value 1.  Action 16:08:20: InstallInitialize.   Action start 16:08:20: InstallInitialize.  Action ended 16:08:34: InstallInitialize. Return value 1.  Action 16:08:34: ProcessComponents. Updating component registration  Action start 16:08:34: ProcessComponents.  Action 16:08:35: GenerateScript. Generating script operations for action:  GenerateScript: Updating component registration  tion ended 16:08:35: ProcessComponents. Return value 1.  InstallFiles: File: Copying new files,  Directory: ,  Size:   // At this point, the logfile had some binary data injected, so I removed it.  ction start 16:08:35: InstallFiles.  Action ended 16:08:35: RemoveFiles. Return value 0.tion 16:08:35: InstallFiles. Copying new files  tion start 16:08:35: InstallFiles.  Action start 16:08:35: InstallFiles.tion ended 16:08:35: RemoveFiles. Return value 0.  Action 16:08:35: InstallFiles. Copying new filAction start 16:08:35: InstallFile File: [1],  Directory: [9],  Size: [6 ction ended 16:08:35: RemoveFiles. Return value File: [1],  Directory: [9],  Size: [6]tion start 16:08:35: InstallFiles.  tion ended 16:08:35: RemoveFiles. Return value 0.  tion 16:08:35: InstallFiles. Copying new files  tion start 16:08:35: InstallFiles.  tallFiles: File: Copying new files,  Directory: ,  Size:   Action ended 16:08:35: InstallFiles. Return value 1.  Action 16:08:35: SetSchedulerConfigOptions.   tion start 16:08:35: SetSchedulerConfigOptions.  // Logfile returned to normal at this point from binary data injections  XCA: Extracting custom action to temporary directory: C:\WINDOWS\Installer\MSI53E.tmp-\  XCA: Binding to CLR version v2.0.50727  Calling custom action WIXCustomActions!WIXCustomActions.CustomActions.SetSchedulerConfigOptions  *** SetSchedulerConfigOptions ***  *** WriteRegistryDBSettings ***  CCP Database => orangeCCP  CCP Server => desk06096d  CCP UseIntegratedSecurity => SSPI  CCP PortalConnectionTimeout => 240  CCA Database => orangeCCA  CCA Server => desk06096d  CCA UseIntegratedSecurity => SSPI  CCA PortalConnectionTimeout => 240  CCC Database => orangeCCC  CCC Server => desk06096d  CCC UseIntegratedSecurity => SSPI  CCC PortalConnectionTimeout => 240  CCR Database => orangeCCR  CCR Server => desk06096d  CCR UseIntegratedSecurity => SSPI  CCR PortalConnectionTimeout => 240  Registry settings successfully written.  AppConfig file not found @ C:\Program Files\eLoyalty\eLoyalty Scheduler Service\eLoyalty.SchedulerService.exe.config. Could not clear out connection strings.  Action ended 16:08:36: SetSchedulerConfigOptions. Return value 1.  Action 16:08:36: InstallServices. Installing new services  Action start 16:08:36: InstallServices.  InstallServices: Service:   Action ended 16:08:36: InstallServices. Return value 1.  Action 16:08:36: StartServices. Starting services  Action start 16:08:36: StartServices.  StartServices: Service: Starting services  Action ended 16:08:36: StartServices. Return value 1.  Action 16:08:36: RegisterUser. Registering user  Action start 16:08:36: RegisterUser.  Action ended 16:08:36: RegisterUser. Return value 1.  Action 16:08:36: RegisterProduct. Registering product  Action start 16:08:36: RegisterProduct.  RegisterProduct: Registering product  Action ended 16:08:36: RegisterProduct. Return value 1.  Action 16:08:36: PublishFeatures. Publishing Product Features  Action start 16:08:36: PublishFeatures.  PublishFeatures: Feature: Publishing Product Features  Action ended 16:08:36: PublishFeatures. Return value 1.  Action 16:08:36: PublishProduct. Publishing product information  Action start 16:08:36: PublishProduct.  PublishProduct:   Action ended 16:08:36: PublishProduct. Return value 1.  Action 16:08:36: InstallFinalize.   Action start 16:08:36: InstallFinalize.  Action 16:08:36: ProcessComponents. Updating component registration  1: {D83DA1C7-FB6E-4C8A-9122-1D25764CF081} 2: {44FC813B-F7B3-4B54-9D82-5DF3B7C2BCE5} 3: C:\Program Files\eLoyalty\eLoyalty Scheduler Service\eLoyalty.SchedulerService.exe   Action 16:08:36: StopServices. Stopping services  Action 16:08:36: DeleteServices. Deleting services  Action 16:08:36: InstallFiles. Copying new files  InstallFiles: File: Common.Logging.dll,  Directory: C:\Program Files\eLoyalty\eLoyalty Scheduler Service\,  Size: 28672  InstallFiles: File: eLoyalty.PortalLib.dll,  Directory: C:\Program Files\eLoyalty\eLoyalty Scheduler Service\,  Size: 91136  InstallFiles: File: eLoyalty.SchedulerService.exe,  Directory: C:\Program Files\eLoyalty\eLoyalty Scheduler Service\,  Size: 26112  InstallFiles: File: eLoyalty.SchedulerService.exe.config,  Directory: C:\Program Files\eLoyalty\eLoyalty Scheduler Service\,  Size: 922  InstallFiles: File: eLoyalty.SchedulerService.pdb,  Directory: C:\Program Files\eLoyalty\eLoyalty Scheduler Service\,  Size: 65024  InstallFiles: File: log4net.config,  Directory: C:\Program Files\eLoyalty\eLoyalty Scheduler Service\,  Size: 1405  InstallFiles: File: log4net.dll,  Directory: C:\Program Files\eLoyalty\eLoyalty Scheduler Service\,  Size: 270336  InstallFiles: File: Quartz.dll,  Directory: C:\Program Files\eLoyalty\eLoyalty Scheduler Service\,  Size: 438272  Action 16:08:36: InstallServices. Installing new services  Action 16:08:37: StartServices. Starting services  StartServices: Service: eLoyalty Scheduler Service  Action 16:08:39: RegisterProduct. Registering product  RegisterProduct: {D83DA1C7-FB6E-4C8A-9122-1D25764CF081}  Action 16:08:39: PublishFeatures. Publishing Product Features  PublishFeatures: Feature: ProductFeature  Action 16:08:39: PublishProduct. Publishing product information  1: {D83DA1C7-FB6E-4C8A-9122-1D25764CF081}   Action 16:08:39: RollbackCleanup. Removing backup files  Action ended 16:08:39: InstallFinalize. Return value 1.  Action ended 16:08:39: INSTALL. Return value 1.  Property(S): UpgradeCode = {2A1341A1-FFFD-4BED-A609-14CB1C265330}  Property(S): FILEINSTALLDIR = C:\Program Files\eLoyalty\eLoyalty Scheduler Service\  Property(S): CCP_DATABASE = orangeCCP  Property(S): CCP_SERVER = desk06096d  Property(S): CCP_UIS = SSPI  Property(S): CCP_CONNECTIONTIMEOUT = 240  Property(S): CCA_DATABASE = orangeCCA  Property(S): CCA_SERVER = desk06096d  Property(S): CCA_UIS = SSPI  Property(S): CCA_CONNECTIONTIMEOUT = 240  Property(S): CCC_DATABASE = orangeCCC  Property(S): CCC_SERVER = desk06096d  Property(S): CCC_UIS = SSPI  Property(S): CCC_CONNECTIONTIMEOUT = 240  Property(S): CCR_DATABASE = orangeCCR  Property(S): CCR_SERVER = desk06096d  Property(S): CCR_UIS = SSPI  Property(S): CCR_CONNECTIONTIMEOUT = 240  Property(S): WIXUI_INSTALLDIR = FILEINSTALLDIR  Property(S): ARPNOMODIFY = 1  Property(S): eLoyalty = C:\Program Files\eLoyalty\  Property(S): ProgramFilesFolder = C:\Program Files\  Property(S): TARGETDIR = C:\  Property(S): SourceDir = C:\development\trunk\PortalsDev\csharp\production\Installers\WIX\eLoyalty.SchedulerServiceWIXInstaller\bin\Debug\  Property(S): VersionNT = 501  Property(S): Manufacturer = eLoyalty  Property(S): ProductCode = {D83DA1C7-FB6E-4C8A-9122-1D25764CF081}  Property(S): ProductLanguage = 1033  Property(S): ProductName = eLoyalty Scheduler Service  Property(S): ProductVersion = 2.7.0  Property(S): CONFIGFILE = eLoyalty.SchedulerService.exe.config  Property(S): DefaultUIFont = WixUI_Font_Normal  Property(S): WixUI_Mode = InstallDir  Property(S): ErrorDialog = ErrorDlg  Property(S): SecureCustomProperties = CCA_CONNECTIONTIMEOUT;CCA_DATABASE;CCA_SERVER;CCA_UIS;CCC_CONNECTIONTIMEOUT;CCC_DATABASE;CCC_SERVER;CCC_UIS;CCP_CONNECTIONTIMEOUT;CCP_DATABASE;CCP_SERVER;CCP_UIS;CCR_CONNECTIONTIMEOUT;CCR_DATABASE;CCR_SERVER;CCR_UIS;NEWERFOUND;OLDERFOUND;PREVIOUSVERSIONSINSTALLED;SELFFOUND  Property(S): MsiLogFileLocation = C:\development\trunk\PortalsDev\csharp\production\Installers\WIX\eLoyalty.SchedulerServiceWIXInstaller\bin\Debug\log.txt  Property(S): PackageCode = {C6DD6531-CB70-44EB-8AEC-467BC66C7CC0}  Property(S): ProductState = -1  Property(S): PackagecodeChanging = 1  Property(S): CURRENTDIRECTORY = C:\development\trunk\PortalsDev\csharp\production\Installers\WIX\eLoyalty.SchedulerServiceWIXInstaller\bin\Debug  Property(S): CLIENTUILEVEL = 0  Property(S): CLIENTPROCESSID = 3364  Property(S): USERNAME = eLoyalty  Property(S): COMPANYNAME = eLoyalty  Property(S): VersionDatabase = 200  Property(S): ACTION = INSTALL  Property(S): EXECUTEACTION = INSTALL  Property(S): ROOTDRIVE = C:\  Property(S): INSTALLLEVEL = 1  Property(S): WIXUI_INSTALLDIR_VALID = 1  Property(S): SECONDSEQUENCE = 1  Property(S): ADDLOCAL = ProductFeature  Property(S): MsiSystemRebootPending = 1  Property(S): VersionMsi = 4.05  Property(S): WindowsBuild = 2600  Property(S): ServicePackLevel = 3  Property(S): ServicePackLevelMinor = 0  Property(S): MsiNTProductType = 1  Property(S): WindowsFolder = C:\WINDOWS\  Property(S): WindowsVolume = C:\  Property(S): SystemFolder = C:\WINDOWS\system32\  Property(S): System16Folder = C:\WINDOWS\system\  Property(S): RemoteAdminTS = 1  Property(S): TempFolder = C:\DOCUME~1\ELOY06~1\LOCALS~1\Temp\  Property(S): CommonFilesFolder = C:\Program Files\Common Files\  Property(S): AppDataFolder = C:\Documents and Settings\eloy06096\Application Data\  Property(S): FavoritesFolder = C:\Documents and Settings\eloy06096\Favorites\  Property(S): NetHoodFolder = C:\Documents and Settings\eloy06096\NetHood\  Property(S): PersonalFolder = C:\Documents and Settings\eloy06096\My Documents\  Property(S): PrintHoodFolder = C:\Documents and Settings\eloy06096\PrintHood\  Property(S): RecentFolder = C:\Documents and Settings\eloy06096\Recent\  Property(S): SendToFolder = C:\Documents and Settings\eloy06096\SendTo\  Property(S): TemplateFolder = C:\Documents and Settings\eloy06096\Templates\  Property(S): CommonAppDataFolder = C:\Documents and Settings\All Users\Application Data\  Property(S): LocalAppDataFolder = C:\Documents and Settings\eloy06096\Local Settings\Application Data\  Property(S): MyPicturesFolder = C:\Documents and Settings\eloy06096\My Documents\My Pictures\  Property(S): AdminToolsFolder = C:\Documents and Settings\eloy06096\Start Menu\Programs\Administrative Tools\  Property(S): StartupFolder = C:\Documents and Settings\eloy06096\Start Menu\Programs\Startup\  Property(S): ProgramMenuFolder = C:\Documents and Settings\eloy06096\Start Menu\Programs\  Property(S): StartMenuFolder = C:\Documents and Settings\eloy06096\Start Menu\  Property(S): DesktopFolder = C:\Documents and Settings\eloy06096\Desktop\  Property(S): FontsFolder = C:\WINDOWS\Fonts\  Property(S): GPTSupport = 1  Property(S): OLEAdvtSupport = 1  Property(S): ShellAdvtSupport = 1  Property(S): Intel = 6  Property(S): PhysicalMemory = 3288  Property(S): VirtualMemory = 3291  Property(S): AdminUser = 1  Property(S): LogonUser = eloy06096  Property(S): UserSID = S-1-5-21-15890611-392985980-6498272-20570  Property(S): UserLanguageID = 1033  Property(S): ComputerName = DESK06096D  Property(S): SystemLanguageID = 1033  Property(S): ScreenX = 1680  Property(S): ScreenY = 1050  Property(S): CaptionHeight = 19  Property(S): BorderTop = 1  Property(S): BorderSide = 1  Property(S): TextHeight = 16  Property(S): TextInternalLeading = 3  Property(S): ColorBits = 32  Property(S): TTCSupport = 1  Property(S): Time = 16:08:39  Property(S): Date = 1/25/2011  Property(S): MsiNetAssemblySupport = 4.0.30319.1  Property(S): MsiWin32AssemblySupport = 5.1.2600.5512  Property(S): RedirectedDllSupport = 2  Property(S): Privileged = 1  Property(S): DATABASE = C:\WINDOWS\Installer\da7c51.msi  Property(S): OriginalDatabase = C:\development\trunk\PortalsDev\csharp\production\Installers\WIX\eLoyalty.SchedulerServiceWIXInstaller\bin\Debug\eLoyalty.SchedulerServiceWIXInstaller.msi  Property(S): UILevel = 5  Property(S): Preselected = 1  Property(S): CostingComplete = 1  Property(S): OutOfDiskSpace = 0  Property(S): OutOfNoRbDiskSpace = 0  Property(S): PrimaryVolumeSpaceAvailable = 0  Property(S): PrimaryVolumeSpaceRequired = 0  Property(S): PrimaryVolumeSpaceRemaining = 0  Property(S): SOURCEDIR = C:\development\trunk\PortalsDev\csharp\production\Installers\WIX\eLoyalty.SchedulerServiceWIXInstaller\bin\Debug\  Property(S): SourcedirProduct = {D83DA1C7-FB6E-4C8A-9122-1D25764CF081}  Property(S): ProductToBeRegistered = 1  Action ended 16:08:39: ExecuteAction. Return value 1.  Action 16:08:39: ExitDialog.   Action start 16:08:39: ExitDialog.  Action 16:08:39: ExitDialog. Dialog created  Action ended 16:09:00: ExitDialog. Return value 1.  Action ended 16:09:00: INSTALL. Return value 1.  Property(C): UpgradeCode = {2A1341A1-FFFD-4BED-A609-14CB1C265330}  Property(C): FILEINSTALLDIR = C:\Program Files\eLoyalty\eLoyalty Scheduler Service\  Property(C): CCP_DATABASE = orangeCCP  Property(C): CCP_SERVER = desk06096d  Property(C): CCP_UIS = SSPI  Property(C): CCP_CONNECTIONTIMEOUT = 240  Property(C): CCA_DATABASE = orangeCCA  Property(C): CCA_SERVER = desk06096d  Property(C): CCA_UIS = SSPI  Property(C): CCA_CONNECTIONTIMEOUT = 240  Property(C): CCC_DATABASE = orangeCCC  Property(C): CCC_SERVER = desk06096d  Property(C): CCC_UIS = SSPI  Property(C): CCC_CONNECTIONTIMEOUT = 240  Property(C): CCR_DATABASE = orangeCCR  Property(C): CCR_SERVER = desk06096d  Property(C): CCR_UIS = SSPI  Property(C): CCR_CONNECTIONTIMEOUT = 240  Property(C): WIXUI_INSTALLDIR = FILEINSTALLDIR  Property(C): ARPNOMODIFY = 1  Property(C): eLoyalty = C:\Program Files\eLoyalty\  Property(C): ProgramFilesFolder = C:\Program Files\  Property(C): TARGETDIR = C:\  Property(C): SourceDir = C:\development\trunk\PortalsDev\csharp\production\Installers\WIX\eLoyalty.SchedulerServiceWIXInstaller\bin\Debug\  Property(C): VersionNT = 501  Property(C): Manufacturer = eLoyalty  Property(C): ProductCode = {D83DA1C7-FB6E-4C8A-9122-1D25764CF081}  Property(C): ProductLanguage = 1033  Property(C): ProductName = eLoyalty Scheduler Service  Property(C): ProductVersion = 2.7.0  Property(C): CONFIGFILE = eLoyalty.SchedulerService.exe.config  Property(C): DefaultUIFont = WixUI_Font_Normal  Property(C): WixUI_Mode = InstallDir  Property(C): ErrorDialog = ErrorDlg  Property(C): SecureCustomProperties = CCA_CONNECTIONTIMEOUT;CCA_DATABASE;CCA_SERVER;CCA_UIS;CCC_CONNECTIONTIMEOUT;CCC_DATABASE;CCC_SERVER;CCC_UIS;CCP_CONNECTIONTIMEOUT;CCP_DATABASE;CCP_SERVER;CCP_UIS;CCR_CONNECTIONTIMEOUT;CCR_DATABASE;CCR_SERVER;CCR_UIS;NEWERFOUND;OLDERFOUND;PREVIOUSVERSIONSINSTALLED;SELFFOUND  Property(C): MsiLogFileLocation = C:\development\trunk\PortalsDev\csharp\production\Installers\WIX\eLoyalty.SchedulerServiceWIXInstaller\bin\Debug\log.txt  Property(C): PackageCode = {C6DD6531-CB70-44EB-8AEC-467BC66C7CC0}  Property(C): ProductState = -1  Property(C): PackagecodeChanging = 1  Property(C): CURRENTDIRECTORY = C:\development\trunk\PortalsDev\csharp\production\Installers\WIX\eLoyalty.SchedulerServiceWIXInstaller\bin\Debug  Property(C): CLIENTUILEVEL = 0  Property(C): CLIENTPROCESSID = 3364  Property(C): MsiSystemRebootPending = 1  Property(C): VersionDatabase = 200  Property(C): VersionMsi = 4.05  Property(C): WindowsBuild = 2600  Property(C): ServicePackLevel = 3  Property(C): ServicePackLevelMinor = 0  Property(C): MsiNTProductType = 1  Property(C): WindowsFolder = C:\WINDOWS\  Property(C): WindowsVolume = C:\  Property(C): SystemFolder = C:\WINDOWS\system32\  Property(C): System16Folder = C:\WINDOWS\system\  Property(C): RemoteAdminTS = 1  Property(C): TempFolder = C:\DOCUME~1\ELOY06~1\LOCALS~1\Temp\  Property(C): CommonFilesFolder = C:\Program Files\Common Files\  Property(C): AppDataFolder = C:\Documents and Settings\eloy06096\Application Data\  Property(C): FavoritesFolder = C:\Documents and Settings\eloy06096\Favorites\  Property(C): NetHoodFolder = C:\Documents and Settings\eloy06096\NetHood\  Property(C): PersonalFolder = C:\Documents and Settings\eloy06096\My Documents\  Property(C): PrintHoodFolder = C:\Documents and Settings\eloy06096\PrintHood\  Property(C): RecentFolder = C:\Documents and Settings\eloy06096\Recent\  Property(C): SendToFolder = C:\Documents and Settings\eloy06096\SendTo\  Property(C): TemplateFolder = C:\Documents and Settings\eloy06096\Templates\  Property(C): CommonAppDataFolder = C:\Documents and Settings\All Users\Application Data\  Property(C): LocalAppDataFolder = C:\Documents and Settings\eloy06096\Local Settings\Application Data\  Property(C): MyPicturesFolder = C:\Documents and Settings\eloy06096\My Documents\My Pictures\  Property(C): AdminToolsFolder = C:\Documents and Settings\eloy06096\Start Menu\Programs\Administrative Tools\  Property(C): StartupFolder = C:\Documents and Settings\eloy06096\Start Menu\Programs\Startup\  Property(C): ProgramMenuFolder = C:\Documents and Settings\eloy06096\Start Menu\Programs\  Property(C): StartMenuFolder = C:\Documents and Settings\eloy06096\Start Menu\  Property(C): DesktopFolder = C:\Documents and Settings\eloy06096\Desktop\  Property(C): FontsFolder = C:\WINDOWS\Fonts\  Property(C): GPTSupport = 1  Property(C): OLEAdvtSupport = 1  Property(C): ShellAdvtSupport = 1  Property(C): Intel = 6  Property(C): PhysicalMemory = 3288  Property(C): VirtualMemory = 3264  Property(C): AdminUser = 1  Property(C): LogonUser = eloy06096  Property(C): UserSID = S-1-5-21-15890611-392985980-6498272-20570  Property(C): UserLanguageID = 1033  Property(C): ComputerName = DESK06096D  Property(C): SystemLanguageID = 1033  Property(C): ScreenX = 1680  Property(C): ScreenY = 1050  Property(C): CaptionHeight = 19  Property(C): BorderTop = 1  Property(C): BorderSide = 1  Property(C): TextHeight = 16  Property(C): TextInternalLeading = 3  Property(C): ColorBits = 32  Property(C): TTCSupport = 1  Property(C): Time = 16:09:00  Property(C): Date = 1/25/2011  Property(C): MsiNetAssemblySupport = 4.0.30319.1  Property(C): MsiWin32AssemblySupport = 5.1.2600.5512  Property(C): RedirectedDllSupport = 2  Property(C): Privileged = 1  Property(C): USERNAME = eLoyalty  Property(C): COMPANYNAME = eLoyalty  Property(C): DATABASE = C:\DOCUME~1\ELOY06~1\LOCALS~1\Temp\e39fd9.msi  Property(C): OriginalDatabase = C:\development\trunk\PortalsDev\csharp\production\Installers\WIX\eLoyalty.SchedulerServiceWIXInstaller\bin\Debug\eLoyalty.SchedulerServiceWIXInstaller.msi  Property(C): SOURCEDIR = C:\development\trunk\PortalsDev\csharp\production\Installers\WIX\eLoyalty.SchedulerServiceWIXInstaller\bin\Debug\  Property(C): VersionHandler = 4.05  Property(C): UILevel = 5  Property(C): ACTION = INSTALL  Property(C): EXECUTEACTION = INSTALL  Property(C): ROOTDRIVE = C:\  Property(C): CostingComplete = 1  Property(C): OutOfDiskSpace = 0  Property(C): OutOfNoRbDiskSpace = 0  Property(C): PrimaryVolumeSpaceAvailable = 0  Property(C): PrimaryVolumeSpaceRequired = 0  Property(C): PrimaryVolumeSpaceRemaining = 0  Property(C): INSTALLLEVEL = 1  Property(C): WIXUI_INSTALLDIR_VALID = 1  === Logging stopped: 1/25/2011  16:09:00 ===  MSI (c) (24:A0) [16:09:00:211]: Product: eLoyalty Scheduler Service -- Installation completed successfully.    MSI (c) (24:A0) [16:09:00:227]: Windows Installer installed the product. Product Name: eLoyalty Scheduler Service. Product Version: 2.7.0. Product Language: 1033. Installation success or error status: 0.  

Updates for more information

The custom actions are defined as such in the .wsx file:

                    

They are set up to execute as such:

                                                            

... The LoadSchedulerConfigDefaults scours the existing registry and then the app.config file (if one exists from a previous install) and gathers default values to prompt the user during the UI sequence in some custom dialogs...

The user either keeps the defaults, or overwrites them with custom settings, then continues through the install, at which time I would expect, since SaveSchedulerConfigOptions is set to run after InstallFiles, that it would be able to load the newly deployed (or non-overwritten old) app.config, and clear the settings out that it set in the registry...

But unfortunately, as you can tell by the log, they run after InstallFiles, but a version of it that doesn't deploy anything, its file-deploying replica occurring later in the log file...

Answer by Christopher Painter for The install log for a WIX-based installer indicates the installation process occurs twice, making custom actions occur at unexpected times


You can set the CustomAction element's Execute attribute to 'firstSequence' if you want to only run the custom action once.

I suggest reading the following to understand the in's and out's and to make sure you are having it do what you need it to do.

Installation Phases and In-Script Execution Options for Custom Actions in Windows Installer

Answer by Michael Urman for The install log for a WIX-based installer indicates the installation process occurs twice, making custom actions occur at unexpected times


If you want to do things to files you're installing, the custom action's Execute attribute must be set to either deferred or commit. You may also need to set Impersonate to no.

Answer by saschabeaumont for The install log for a WIX-based installer indicates the installation process occurs twice, making custom actions occur at unexpected times


Based on the other comments it sounds like you want the load action to execute in the firstSequence (during the UI phase) and the save CA to execute as deferred/commit.

Note that modifying an installed app.config is nasty, as now the file no longer matches the original install source and Windows Installer will replace it with the originally installed file if a repair is ever triggered.

Answer by patrickbadley for The install log for a WIX-based installer indicates the installation process occurs twice, making custom actions occur at unexpected times


"Check out the log file, though... You'll see those phases inexplicably occur TWICE..."

This occurs because several install actions are executed in the InstallUISequence as well as the InstallExecuteSequence, the InstallUISequence entries being executed first.

To get your custom action to run before a UI action, use the InstallUISequence table.

Answer by kensands for The install log for a WIX-based installer indicates the installation process occurs twice, making custom actions occur at unexpected times


I solved this problem by passing variables through to the CA using CustomActionData this lets me pass through defaults. it also lets me get around the Cannot access session details from a non-immediate custom action issue, I can do things like:

  


Fatal error: Call to a member function getElementsByTagName() on a non-object in D:\XAMPP INSTALLASTION\xampp\htdocs\endunpratama9i\www-stackoverflow-info-proses.php on line 72

0 comments:

Post a Comment

Popular Posts

Powered by Blogger.