从 Bootstrapper 调用时 Wix 安装程序未安装
Wix Setup not installing when called from Bootstrapper
我有一个 Setup.MSI 非常好用。
但是当我从 Bootstrapper 链中调用它时,安装会立即完成并显示一条成功消息,但实际上并没有安装任何东西。
似乎只是跳过了应该执行MSI的步骤,好像它检测到已经安装的版本。是否已经卸载所有以前的版本或新版本更高都没有关系。 (尽管单独执行 MSI 总是会产生正确的结果,在继续安装之前卸载所有早期版本)。
出于测试目的,我从我的 Bootstrapper 链中删除了除 Setup.msi 之外的所有内容。
执行EXE的LOG为:
[0AA8:3E64][2017-03-22T16:41:45]i001: Burn v3.10.3.3007, Windows v10.0 (Build 14393: Service Pack 0), path: C:\Users\bassak\AppData\Local\Temp\{747ED177-C2E5-40F8-8166-FB885ED86990}\.cr\MyProjectFULL.exe
[0AA8:3E64][2017-03-22T16:41:45]i000: Initializing string variable 'InstallFolder' to value '[WindowsVolume]AVL\MyProject'
[0AA8:3E64][2017-03-22T16:41:45]i000: Initializing numeric variable 'CheckBoxInstallSQL' to value '0'
[0AA8:3E64][2017-03-22T16:41:45]i009: Command Line: '"-burn.clean.room=C:\MyProject Wix\MyProjectSetup\Release.0.1.4\MyProjectFULL.exe" -burn.filehandle.attached=452 -burn.filehandle.self=464 -l log.log'
[0AA8:3E64][2017-03-22T16:41:45]i000: Setting string variable 'WixBundleOriginalSource' to value 'C:\MyProject Wix\MyProjectSetup\Release.0.1.4\MyProjectFULL.exe'
[0AA8:3E64][2017-03-22T16:41:45]i000: Setting string variable 'WixBundleOriginalSourceFolder' to value 'C:\MyProject Wix\MyProjectSetup\Release.0.1.4\'
[0AA8:3E64][2017-03-22T16:41:45]i000: Setting string variable 'WixBundleLog' to value 'C:\MyProject Wix\MyProjectSetup\Release.0.1.4\log.log'
[0AA8:3E64][2017-03-22T16:41:45]i000: Setting string variable 'WixBundleName' to value 'MyProject Bundle'
[0AA8:3E64][2017-03-22T16:41:45]i000: Setting string variable 'WixBundleManufacturer' to value 'AVL List GmbH'
[0AA8:3CE0][2017-03-22T16:41:45]i000: Setting version variable 'WixBundleFileVersion' to value '4.0.1.4'
[0AA8:3E64][2017-03-22T16:41:45]i100: Detect begin, 1 packages
[0AA8:3E64][2017-03-22T16:41:45]i101: Detected package: MyProject.msi, state: Absent, cached: Complete
[0AA8:3E64][2017-03-22T16:41:45]i199: Detect complete, result: 0x0
[0AA8:3CE0][2017-03-22T16:41:46]i000: Setting numeric variable 'CheckBoxInstallSQL' to value 0
[0AA8:3E64][2017-03-22T16:41:46]i200: Plan begin, 1 packages, action: Cache
[0AA8:3E64][2017-03-22T16:41:46]i201: Planned package: MyProject.msi, state: Absent, default requested: Cache, ba requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: None
[0AA8:3E64][2017-03-22T16:41:46]i299: Plan complete, result: 0x0
[0AA8:3E64][2017-03-22T16:41:46]i300: Apply begin
[0AA8:3E64][2017-03-22T16:41:46]i010: Launching elevated engine process.
[0AA8:3E64][2017-03-22T16:41:46]i011: Launched elevated engine process.
[0AA8:3E64][2017-03-22T16:41:46]i012: Connected to elevated engine.
[28E8:47E8][2017-03-22T16:41:46]i358: Pausing automatic updates.
[28E8:47E8][2017-03-22T16:41:46]i359: Paused automatic updates.
[28E8:47E8][2017-03-22T16:41:46]i360: Creating a system restore point.
[28E8:47E8][2017-03-22T16:41:46]i361: Created a system restore point.
[28E8:47E8][2017-03-22T16:41:46]i370: Session begin, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9d8bfe4c-e128-400a-a363-4a8b12853b73}, options: 0x7, disable resume: No
[28E8:47E8][2017-03-22T16:41:47]i000: Caching bundle from: 'C:\Users\bassak\AppData\Local\Temp\{1A7728A4-BCE6-4984-8F1C-C94521036C1D}\.be\MyProjectFULL.exe' to: 'C:\ProgramData\Package Cache\{9d8bfe4c-e128-400a-a363-4a8b12853b73}\MyProjectFULL.exe'
[28E8:47E8][2017-03-22T16:41:47]i320: Registering bundle dependency provider: {9d8bfe4c-e128-400a-a363-4a8b12853b73}, version: 4.0.1.4
[28E8:47E8][2017-03-22T16:41:47]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9d8bfe4c-e128-400a-a363-4a8b12853b73}, resume: Active, restart initiated: No, disable resume: No
[28E8:363C][2017-03-22T16:41:47]i304: Verified existing payload: MyProject.msi at path: C:\ProgramData\Package Cache\{F2ABE5A6-4D93-4F85-B93D-50AD954B2A09}v4.0.1.4\MyProject.msi.
[28E8:47E8][2017-03-22T16:41:47]i372: Session end, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9d8bfe4c-e128-400a-a363-4a8b12853b73}, resume: None, restart: None, disable resume: No
[28E8:47E8][2017-03-22T16:41:47]i330: Removed bundle dependency provider: {9d8bfe4c-e128-400a-a363-4a8b12853b73}
[28E8:47E8][2017-03-22T16:41:47]i352: Removing cached bundle: {9d8bfe4c-e128-400a-a363-4a8b12853b73}, from path: C:\ProgramData\Package Cache\{9d8bfe4c-e128-400a-a363-4a8b12853b73}\
[28E8:47E8][2017-03-22T16:41:47]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9d8bfe4c-e128-400a-a363-4a8b12853b73}, resume: None, restart initiated: No, disable resume: No
[0AA8:3E64][2017-03-22T16:41:48]i399: Apply complete, result: 0x0, restart: None, ba requested restart: No
[0AA8:3E64][2017-03-22T16:41:49]i500: Shutting down, exit code: 0x0
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: CheckBoxInstallSQL = 0
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: InstallFolder = C:\AVL\MyProject
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WindowsVolume = C:\
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleAction = 4
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleElevated = 1
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleFileVersion = 4.0.1.4
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleInstalled = 0
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleLog = C:\MyProject Wix\MyProjectSetup\Release.0.1.4\log.log
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleManufacturer = AVL List GmbH
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleName = MyProject Bundle
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleOriginalSource = C:\MyProject Wix\MyProjectSetup\Release.0.1.4\MyProjectFULL.exe
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleOriginalSourceFolder = C:\MyProject Wix\MyProjectSetup\Release.0.1.4\
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleProviderKey = {9d8bfe4c-e128-400a-a363-4a8b12853b73}
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleSourceProcessFolder = C:\MyProject Wix\MyProjectSetup\Release.0.1.4\
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleSourceProcessPath = C:\MyProject Wix\MyProjectSetup\Release.0.1.4\MyProjectFULL.exe
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleTag =
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleVersion = 4.0.1.4
[0AA8:3E64][2017-03-22T16:41:49]i007: Exit code: 0x0, restarting: No
错误可能在哪里?我有一个不同的升级代码用于设置和引导程序,它们总是保持不变。作为产品代码,我使用“*”。我使用 Visual Studio 2015 并在 32 位版本上构建所有内容。我真的很感谢每一个正确方向的提示!
您的问题与此行有关
[0AA8:3E64][2017-03-22T16:41:46]i201: Planned package: MyProject.msi, state: Absent, default requested: Cache, ba requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: None
出于某种原因,默认请求和 ba 请求都是 "Cache"。对于 运行 的安装程序,这必须是 "Install".
我们也有这条有趣的线路
[0AA8:3E64][2017-03-22T16:41:46]i200:计划开始,1 个包,操作:缓存
我挖了一下,"Cache"这个动作是3.10.3新增的动作。有趣的是,这个动作是在 BOOTSTRAPPER_ACTION_INSTALL.
之前添加到 BOOTSTRAPPER_ACTION 枚举中的
所以这里发生了两件事之一,不知何故你正在构建一个使用旧枚举的二进制文件,所以 BOOSTRAPPER_ACTION_INSTALL 与新 BOOSTRAPPER_ACTION_CACHE 的值相同并且你正在混合二进制文件.您是针对 3.10.2 或更早版本构建的,但以某种方式随 3.10.3 dll 一起提供。
或者,您的引导程序正在某处将操作设置为 BOOTSTRAPPER_ACTION_CACHE。
这应该是一个很好的起点,但如果不了解更多信息,我无法真正弄清楚到底发生了什么。
我有一个 Setup.MSI 非常好用。
但是当我从 Bootstrapper 链中调用它时,安装会立即完成并显示一条成功消息,但实际上并没有安装任何东西。
似乎只是跳过了应该执行MSI的步骤,好像它检测到已经安装的版本。是否已经卸载所有以前的版本或新版本更高都没有关系。 (尽管单独执行 MSI 总是会产生正确的结果,在继续安装之前卸载所有早期版本)。
出于测试目的,我从我的 Bootstrapper 链中删除了除 Setup.msi 之外的所有内容。
执行EXE的LOG为:
[0AA8:3E64][2017-03-22T16:41:45]i001: Burn v3.10.3.3007, Windows v10.0 (Build 14393: Service Pack 0), path: C:\Users\bassak\AppData\Local\Temp\{747ED177-C2E5-40F8-8166-FB885ED86990}\.cr\MyProjectFULL.exe
[0AA8:3E64][2017-03-22T16:41:45]i000: Initializing string variable 'InstallFolder' to value '[WindowsVolume]AVL\MyProject'
[0AA8:3E64][2017-03-22T16:41:45]i000: Initializing numeric variable 'CheckBoxInstallSQL' to value '0'
[0AA8:3E64][2017-03-22T16:41:45]i009: Command Line: '"-burn.clean.room=C:\MyProject Wix\MyProjectSetup\Release.0.1.4\MyProjectFULL.exe" -burn.filehandle.attached=452 -burn.filehandle.self=464 -l log.log'
[0AA8:3E64][2017-03-22T16:41:45]i000: Setting string variable 'WixBundleOriginalSource' to value 'C:\MyProject Wix\MyProjectSetup\Release.0.1.4\MyProjectFULL.exe'
[0AA8:3E64][2017-03-22T16:41:45]i000: Setting string variable 'WixBundleOriginalSourceFolder' to value 'C:\MyProject Wix\MyProjectSetup\Release.0.1.4\'
[0AA8:3E64][2017-03-22T16:41:45]i000: Setting string variable 'WixBundleLog' to value 'C:\MyProject Wix\MyProjectSetup\Release.0.1.4\log.log'
[0AA8:3E64][2017-03-22T16:41:45]i000: Setting string variable 'WixBundleName' to value 'MyProject Bundle'
[0AA8:3E64][2017-03-22T16:41:45]i000: Setting string variable 'WixBundleManufacturer' to value 'AVL List GmbH'
[0AA8:3CE0][2017-03-22T16:41:45]i000: Setting version variable 'WixBundleFileVersion' to value '4.0.1.4'
[0AA8:3E64][2017-03-22T16:41:45]i100: Detect begin, 1 packages
[0AA8:3E64][2017-03-22T16:41:45]i101: Detected package: MyProject.msi, state: Absent, cached: Complete
[0AA8:3E64][2017-03-22T16:41:45]i199: Detect complete, result: 0x0
[0AA8:3CE0][2017-03-22T16:41:46]i000: Setting numeric variable 'CheckBoxInstallSQL' to value 0
[0AA8:3E64][2017-03-22T16:41:46]i200: Plan begin, 1 packages, action: Cache
[0AA8:3E64][2017-03-22T16:41:46]i201: Planned package: MyProject.msi, state: Absent, default requested: Cache, ba requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: None
[0AA8:3E64][2017-03-22T16:41:46]i299: Plan complete, result: 0x0
[0AA8:3E64][2017-03-22T16:41:46]i300: Apply begin
[0AA8:3E64][2017-03-22T16:41:46]i010: Launching elevated engine process.
[0AA8:3E64][2017-03-22T16:41:46]i011: Launched elevated engine process.
[0AA8:3E64][2017-03-22T16:41:46]i012: Connected to elevated engine.
[28E8:47E8][2017-03-22T16:41:46]i358: Pausing automatic updates.
[28E8:47E8][2017-03-22T16:41:46]i359: Paused automatic updates.
[28E8:47E8][2017-03-22T16:41:46]i360: Creating a system restore point.
[28E8:47E8][2017-03-22T16:41:46]i361: Created a system restore point.
[28E8:47E8][2017-03-22T16:41:46]i370: Session begin, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9d8bfe4c-e128-400a-a363-4a8b12853b73}, options: 0x7, disable resume: No
[28E8:47E8][2017-03-22T16:41:47]i000: Caching bundle from: 'C:\Users\bassak\AppData\Local\Temp\{1A7728A4-BCE6-4984-8F1C-C94521036C1D}\.be\MyProjectFULL.exe' to: 'C:\ProgramData\Package Cache\{9d8bfe4c-e128-400a-a363-4a8b12853b73}\MyProjectFULL.exe'
[28E8:47E8][2017-03-22T16:41:47]i320: Registering bundle dependency provider: {9d8bfe4c-e128-400a-a363-4a8b12853b73}, version: 4.0.1.4
[28E8:47E8][2017-03-22T16:41:47]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9d8bfe4c-e128-400a-a363-4a8b12853b73}, resume: Active, restart initiated: No, disable resume: No
[28E8:363C][2017-03-22T16:41:47]i304: Verified existing payload: MyProject.msi at path: C:\ProgramData\Package Cache\{F2ABE5A6-4D93-4F85-B93D-50AD954B2A09}v4.0.1.4\MyProject.msi.
[28E8:47E8][2017-03-22T16:41:47]i372: Session end, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9d8bfe4c-e128-400a-a363-4a8b12853b73}, resume: None, restart: None, disable resume: No
[28E8:47E8][2017-03-22T16:41:47]i330: Removed bundle dependency provider: {9d8bfe4c-e128-400a-a363-4a8b12853b73}
[28E8:47E8][2017-03-22T16:41:47]i352: Removing cached bundle: {9d8bfe4c-e128-400a-a363-4a8b12853b73}, from path: C:\ProgramData\Package Cache\{9d8bfe4c-e128-400a-a363-4a8b12853b73}\
[28E8:47E8][2017-03-22T16:41:47]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9d8bfe4c-e128-400a-a363-4a8b12853b73}, resume: None, restart initiated: No, disable resume: No
[0AA8:3E64][2017-03-22T16:41:48]i399: Apply complete, result: 0x0, restart: None, ba requested restart: No
[0AA8:3E64][2017-03-22T16:41:49]i500: Shutting down, exit code: 0x0
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: CheckBoxInstallSQL = 0
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: InstallFolder = C:\AVL\MyProject
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WindowsVolume = C:\
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleAction = 4
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleElevated = 1
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleFileVersion = 4.0.1.4
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleInstalled = 0
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleLog = C:\MyProject Wix\MyProjectSetup\Release.0.1.4\log.log
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleManufacturer = AVL List GmbH
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleName = MyProject Bundle
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleOriginalSource = C:\MyProject Wix\MyProjectSetup\Release.0.1.4\MyProjectFULL.exe
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleOriginalSourceFolder = C:\MyProject Wix\MyProjectSetup\Release.0.1.4\
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleProviderKey = {9d8bfe4c-e128-400a-a363-4a8b12853b73}
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleSourceProcessFolder = C:\MyProject Wix\MyProjectSetup\Release.0.1.4\
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleSourceProcessPath = C:\MyProject Wix\MyProjectSetup\Release.0.1.4\MyProjectFULL.exe
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleTag =
[0AA8:3E64][2017-03-22T16:41:49]i410: Variable: WixBundleVersion = 4.0.1.4
[0AA8:3E64][2017-03-22T16:41:49]i007: Exit code: 0x0, restarting: No
错误可能在哪里?我有一个不同的升级代码用于设置和引导程序,它们总是保持不变。作为产品代码,我使用“*”。我使用 Visual Studio 2015 并在 32 位版本上构建所有内容。我真的很感谢每一个正确方向的提示!
您的问题与此行有关
[0AA8:3E64][2017-03-22T16:41:46]i201: Planned package: MyProject.msi, state: Absent, default requested: Cache, ba requested: Cache, execute: None, rollback: None, cache: No, uncache: No, dependency: None
出于某种原因,默认请求和 ba 请求都是 "Cache"。对于 运行 的安装程序,这必须是 "Install".
我们也有这条有趣的线路
[0AA8:3E64][2017-03-22T16:41:46]i200:计划开始,1 个包,操作:缓存
我挖了一下,"Cache"这个动作是3.10.3新增的动作。有趣的是,这个动作是在 BOOTSTRAPPER_ACTION_INSTALL.
之前添加到 BOOTSTRAPPER_ACTION 枚举中的所以这里发生了两件事之一,不知何故你正在构建一个使用旧枚举的二进制文件,所以 BOOSTRAPPER_ACTION_INSTALL 与新 BOOSTRAPPER_ACTION_CACHE 的值相同并且你正在混合二进制文件.您是针对 3.10.2 或更早版本构建的,但以某种方式随 3.10.3 dll 一起提供。
或者,您的引导程序正在某处将操作设置为 BOOTSTRAPPER_ACTION_CACHE。
这应该是一个很好的起点,但如果不了解更多信息,我无法真正弄清楚到底发生了什么。