Журнал установки для установщика на основе WIX указывает, что процесс установки происходит дважды, в результате чего настраиваемые действия выполняются в неожиданное время. - PullRequest
2 голосов
/ 26 января 2011

У меня есть установщики WiX с двумя настраиваемыми действиями (CA) C #, которые сначала получают настройки по умолчанию, а затем сохраняют настройки, предоставленные во время установки.

  • Пользовательское действие LOAD выполняется After = "CostFinalize"
  • Настраиваемое действие SAVE запускается после = "InstallFiles" ...

Проверьте файл журнала, хотя ... Вы увидите, что эти фазы необъяснимо происходят ДВАЖДЫ при каждом конкретном запуске установки, ПЕРВЫЙ раз не выполняет задачи, которые обычно выполняются на этих этапах (например, во время InstallFiles, НЕТ файлов устанавливаются до второго вхождения фазы InstallFiles в однократной установке).

Это проблема, поскольку функция сохранения должна работать с файлом app.config, развернутым в его папке установки, но после первого вхождения InstallFiles этот файл еще не переместился в ожидаемое место, что вызвало загрузку во время сохранения пользовательского действия произойдет сбой ....

Посмотрев далее установку, вы увидите, что фазы повторяются, но на этот раз на самом деле происходит развертывание файлов во время InstallFiles, но пользовательское действие больше не выполняется в этот момент, поскольку оно уже запущено после первого экземпляра ...

Что здесь происходит?

Файл журнала

=== 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.

Обновления для получения дополнительной информации

Пользовательские действия определены как таковые в файле .wsx:

<!-- This package handles the custom actions for importing and setting Application Settings -->
    <Binary Id="WIXCustomActionsPackage.dll" SourceFile="WIXCustomActionsPackage.dll" />
    <CustomAction Id="LoadSchedulerConfigDefaults" Return="check" Execute="immediate" BinaryKey="WIXCustomActionsPackage.dll" DllEntry="LoadSchedulerConfigDefaults"/>
    <CustomAction Id="SetSchedulerConfigOptions" Return="check" Execute="immediate" BinaryKey="WIXCustomActionsPackage.dll" DllEntry="SetSchedulerConfigOptions"/>

Они настроены на выполнение так:

<InstallUISequence>
      <Custom Action="LoadSchedulerConfigDefaults" After="CostFinalize" />
    </InstallUISequence>
    <InstallExecuteSequence>
      <RemoveExistingProducts Before="InstallInitialize"/>
      <!-- This will fail the installer if a newer installed version is detected -->
      <ScheduleReboot Suppress="yes"></ScheduleReboot>
      <Custom Action="SetSchedulerConfigOptions" After="InstallFiles" ><![CDATA[REMOVE=ALL]]></Custom>
    </InstallExecuteSequence>

... LoadSchedulerConfigDefaults просматривает существующий реестр, а затем файл app.config (если он существует из предыдущей установки) и собирает значения по умолчанию для запроса пользователя во время последовательности пользовательского интерфейса в некоторых настраиваемых диалоговых окнах ...

Пользователь либо сохраняет значения по умолчанию, либо перезаписывает их пользовательскими настройками, а затем продолжает установку, в то время, как я ожидал, поскольку SaveSchedulerConfigOptions настроен на запуск после InstallFiles , что он сможет загрузить только что развернутую (или не перезаписанную старую) app.config и очистить настройки, установленные в реестре ...

Но, к сожалению, как вы можете судить по журналу, они запускаются после InstallFiles, но версия, в которой ничего не развертывает, его реплика развертывания файла появляется позже в файле журнала .. .

Ответы [ 5 ]

2 голосов
/ 26 января 2011

Если вы хотите что-то сделать с файлами, которые вы устанавливаете, атрибут Execute пользовательского действия должен быть установлен на deferred или commit. Вам также может понадобиться установить Impersonate на no.

2 голосов
/ 26 января 2011

Вы можете установить атрибут Execute элемента CustomAction в значение 'firstSequence', если хотите запускать настраиваемое действие только один раз.

Я предлагаю прочитать следующее, чтобы понять, что нужно и что нужно, чтобы убедиться, что вы выполняете то, что вам нужно.

Этапы установки и параметры выполнения в сценарии для настраиваемых действий в установщике Windows

0 голосов
/ 05 февраля 2016

Я решил эту проблему, передав переменные в CA с помощью CustomActionData, что позволяет мне проходить через значения по умолчанию.это также позволяет мне обойти данные о невозможности доступа к сеансу из-за неполных пользовательских действий; я могу делать такие вещи, как:

<CustomAction Id="MYCustomParams" Property ="Thingy" Value ='MSIPATH=[OriginalDatabase]/>
<CustomAction Id="Thingy" BinaryKey="MYCustomDLL" DllEntry="MyFunc" Execute="deferred" Impersonate="no" Return="check"/>

Вы также можете передавать данные из командной строки в MSI и выбирать ихвот так

CMD> MyMSI.msi MYPARAM = "материал по умолчанию"

<CustomAction Id="MYCustomParams" Property ="Thingy" Value ='MSIPARAM=[MYPARAM]/>
0 голосов
/ 24 июля 2012

"Проверьте файл журнала, хотя ... Вы увидите, что эти фазы необъяснимо происходят ДВАЖДЫ ..."

Это происходит потому, что в InstallUISequence выполняется несколько действий установки.а также InstallExecuteSequence , записи InstallUISequence выполняются первыми.

Чтобы пользовательское действие выполнялось перед действием пользовательского интерфейса, используйте таблицу InstallUISequence .

0 голосов
/ 31 января 2011

Исходя из других комментариев, звучит так, будто вы хотите, чтобы действие загрузки выполнялось в firstSequence (во время фазы пользовательского интерфейса), а сохраняющийся CA выполнялся как отложенный / фиксированный.

Обратите внимание, что изменение установленного app.config неприятно, так как теперь файл больше не соответствует исходному источнику установки, и установщик Windows заменит его на первоначально установленный файл, если восстановление будет инициировано.

...