我的应用程序的Windows installer出现问题。该安装程序是作为VS installer安装项目在2010中构建的。如果我使用setup.exe运行,一切都可以正常运行和安装。如果我通过双击.msi或右键单击>来安装,则以管理员身份运行。它突然出现错误消息:“32位进程不能访问64位进程的模块。”
当主安装程序尝试运行自定义操作以启动辅助安装程序时,可能会发生这种情况,该辅助安装程序安装控制台应用程序来管理主应用程序,主应用程序是Windows服务。
我相信msi日志的相关部分在这里。你知道为什么它只能和setup.exe一起工作吗?
Action 14:11:15: CreateShortcuts. Creating shortcuts
MSI (s) (50:28) [14:11:15:125]: Executing op: IconCreate(Icon=_853F67D554F05449430E7E.exe,Data=BinaryData)
CreateShortcuts: Shortcut: _853F67D554F05449430E7E.exe
MSI (s) (50:28) [14:11:15:127]: Executing op: IconCreate(Icon=_00A3DC312983E2DC9634D3.exe,Data=BinaryData)
CreateShortcuts: Shortcut: _00A3DC312983E2DC9634D3.exe
MSI (s) (50:28) [14:11:15:139]: Executing op: SetTargetFolder(Folder=23\DVS\)
MSI (s) (50:28) [14:11:15:140]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Start Menu\Programs
MSI (s) (50:28) [14:11:15:141]: Executing op: ShortcutCreate(Name=ELECTI~1|Election File Manager Console,Feature=DefaultFeature,Component={C67DDC11-E115-04F1-EB37-4CEB5F7673C5}[~]2,,,WorkingDir=C:\Program Files (x86)\Dominion Voting Systems\Election File Manager\,Icon=_00A3DC312983E2DC9634D3.exe,IconIndex=0,,ShowCmd=1,Description=Manages configuration for the Election File Manager.,,,,)
CreateShortcuts: Shortcut: ELECTI~1|Election File Manager Console
MSI (s) (50:28) [14:11:15:146]: Executing op: SetTargetFolder(Folder=23\DVS\)
MSI (s) (50:28) [14:11:15:147]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Start Menu\Programs
MSI (s) (50:28) [14:11:15:147]: Executing op: ActionStart(Name=_8C068C04_0632_43F6_9A23_7215DFF38AB8.commit,,)
Action 14:11:15: _8C068C04_0632_43F6_9A23_7215DFF38AB8.commit.
MSI (s) (50:28) [14:11:15:148]: Executing op: CustomActionSchedule(Action=_8C068C04_0632_43F6_9A23_7215DFF38AB8.commit,ActionType=3585,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=commit /LogFile= /TargetDir="C:\Program Files (x86)\Dominion Voting Systems\Election File Manager\ " "C:\Program Files (x86)\Dominion Voting Systems\Election File Manager\DVS.Adjudication.Services.ElectionFileManager.exe" "C:\Users\Admin\AppData\Local\Temp\CFGF135.tmp")
MSI (s) (50:28) [14:11:15:148]: Executing op: ActionStart(Name=_4D62EF4D_0692_4108_9E9F_FB7D6DEB597D.commit,,)
Action 14:11:15: _4D62EF4D_0692_4108_9E9F_FB7D6DEB597D.commit.
MSI (s) (50:28) [14:11:15:149]: Executing op: CustomActionSchedule(Action=_4D62EF4D_0692_4108_9E9F_FB7D6DEB597D.commit,ActionType=3585,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=commit /LogFile= "C:\Program Files (x86)\Dominion Voting Systems\Election File Manager\DVS.Adjudication.Services.ElectionFileManager.ServiceManager.dll" "C:\Users\Admin\AppData\Local\Temp\CFGF135.tmp")
MSI (s) (50:28) [14:11:15:149]: Executing op: ActionStart(Name=_E1493850_50FB_415B_9B41_D70C965F5F01.rollback,,)
Action 14:11:15: _E1493850_50FB_415B_9B41_D70C965F5F01.rollback.
MSI (s) (50:28) [14:11:15:149]: Executing op: CustomActionSchedule(Action=_E1493850_50FB_415B_9B41_D70C965F5F01.rollback,ActionType=3329,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=rollback /LogFile= "C:\Program Files (x86)\Dominion Voting Systems\Election File Manager\DVS.Adjudication.Services.ElectionFileManager.ServiceManager.dll" "C:\Users\Admin\AppData\Local\Temp\CFGF135.tmp")
MSI (s) (50:28) [14:11:15:149]: Executing op: ActionStart(Name=_2F4DD30B_44C5_4DA1_8B54_9AB7A78142AB.rollback,,)
Action 14:11:15: _2F4DD30B_44C5_4DA1_8B54_9AB7A78142AB.rollback.
MSI (s) (50:28) [14:11:15:150]: Executing op: CustomActionSchedule(Action=_2F4DD30B_44C5_4DA1_8B54_9AB7A78142AB.rollback,ActionType=3329,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=rollback /LogFile= /TargetDir="C:\Program Files (x86)\Dominion Voting Systems\Election File Manager\ " "C:\Program Files (x86)\Dominion Voting Systems\Election File Manager\DVS.Adjudication.Services.ElectionFileManager.exe" "C:\Users\Admin\AppData\Local\Temp\CFGF135.tmp")
MSI (s) (50:28) [14:11:15:150]: Executing op: ActionStart(Name=_62AA792B_00B2_4C1E_96E0_04E58249B509.install,,)
Action 14:11:15: _62AA792B_00B2_4C1E_96E0_04E58249B509.install.
MSI (s) (50:28) [14:11:15:151]: Executing op: CustomActionSchedule(Action=_62AA792B_00B2_4C1E_96E0_04E58249B509.install,ActionType=3073,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=install /LogFile= /TargetDir="C:\Program Files (x86)\Dominion Voting Systems\Election File Manager\ " "C:\Program Files (x86)\Dominion Voting Systems\Election File Manager\DVS.Adjudication.Services.ElectionFileManager.exe" "C:\Users\Admin\AppData\Local\Temp\CFGF135.tmp")
MSI (s) (50:04) [14:11:15:153]: Invoking remote custom action. DLL: C:\Windows\Installer\MSIF339.tmp, Entrypoint: ManagedInstall
MSI (s) (50:14) [14:11:15:153]: Generating random cookie.
MSI (s) (50:14) [14:11:15:154]: Created Custom Action Server with PID 992 (0x3E0).
MSI (s) (50:B8) [14:11:15:183]: Running as a service.
MSI (s) (50:B8) [14:11:15:185]: Hello, I'm your 32bit Elevated custom action server.
DEBUG: Error 2835: The control ErrorIcon was not found on dialog ErrorDialog
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2835. The arguments are: ErrorIcon, ErrorDialog,
Error 1001. Error 1001. An exception occurred in the OnBeforeInstall event handler of DVS.Adjudication.Services.ElectionFileManager.Installation.MainInstaller. --> A 32 bit processes cannot access modules of a 64 bit process.
MSI (s) (50!DC) [14:11:19:482]:
MSI (s) (50:04) [14:11:19:485]: Leaked MSIHANDLE (50) of type 790531 for thread 2268
MSI (s) (50:04) [14:11:19:485]: Note: 1: 2769 2: _62AA792B_00B2_4C1E_96E0_04E58249B509.install 3: 1
DEBUG: Error 2769: Custom Action _62AA792B_00B2_4C1E_96E0_04E58249B509.install did not close 1 MSIHANDLEs.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2769. The arguments are: _62AA792B_00B2_4C1E_96E0_04E58249B509.install, 1,
CustomAction _62AA792B_00B2_4C1E_96E0_04E58249B509.install returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 14:11:19: InstallExecute. Return value 3.
MSI (s) (50:28) [14:11:19:493]: User policy value 'DisableRollback' is 0
MSI (s) (50:28) [14:11:19:493]: Machine policy value 'DisableRollback' is 0
MSI (s) (50:28) [14:11:19:498]: Executing op: Header(Signature=1397708873,Version=500,Timestamp=1149727080,LangId=1033,Platform=0,ScriptType=2,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAttributes=1)
MSI (s) (50:28) [14:11:19:498]: Executing op: DialogInfo(Type=0,Argument=1033)
MSI (s) (50:28) [14:11:19:499]: Executing op: DialogInfo(Type=1,Argument=Election File Manager)
MSI (s) (50:28) [14:11:19:500]: Executing op: RollbackInfo(,RollbackAction=Rollback,RollbackDescription=Rolling back action:,RollbackTemplate=[1],CleanupAction=RollbackCleanup,CleanupDescription=Removing backup files,CleanupTemplate=File: [1])
Action 14:11:19: Rollback. Rolling back action:发布于 2014-04-09 01:33:49
看起来你有一个失败的托管代码自定义操作。由于它提到了位不匹配,因此托管代码以某种方式进入了尝试调用64位代码的调用链。您的托管代码可能是AnyCpu (或64位),调用它的隐藏Microsoft Dll可能是32位的,无法加载您的代码。或者你的代码是32位的,而你试图调用一个64位的Dll/程序集。冒着说明显而易见的风险,不允许跨体系结构的Dll调用。
无论如何,如果您构建Setup.exe是为了安装必备组件,那么这可能是无关紧要的,这意味着您不能单独运行您的MSI,因为它需要setup.exe为您安装的必备组件。
发布于 2014-04-09 05:54:54
我一遍又一遍地向其他有类似VS安装程序问题的人重复这个建议。此项目类型已经被Microsoft弃用,应该尽快迁移到Wix -它根本不是交付安装的可靠方式。我知道这是一个见仁见智的问题,但很少有该领域的知识的人不同意。考虑到人们使用VS installer时报告的大量问题,迁移到Wix是值得的。
请在这里查看我的答案,其中有更多链接到一篇文章,其中包含如何快速开始使用Wix的提示:https://stackoverflow.com/a/22907659/129130
在您的情况下,我要做的是删除所有嵌入式设置,并通过一个通用的引导程序应用程序运行它们。Wix有自己的版本叫Burn。
https://stackoverflow.com/questions/22923367
复制相似问题