WIX:如何在安装过程中不调用 ActionStart(Name=StartMetabaseTransaction)

发布于 2024-09-29 10:39:10 字数 2317 浏览 3 评论 0 原文

当我的安装程序安装在未安装 IIS 的计算机上时,它会失败。将要安装的功能不需要 IIS。该错误显示“无法连接到 Internet 信息服务器”。

除此之外。安装程序文件还有一个需要 IIS 的功能。但当我取消选择该功能时,安装程​​序仍然会查找 IIS。下面是它生成的日志。

MSI(s)(D0:F8)[11:39:12:437]:注意:1:2318 2:C:\ Program Files \ Cormant Technologies \ DCE \ WindowsService \ UninflectedWords.txt MSI(s)(D0:F8)[11:39:12:437]:执行操作:CacheSizeFlush(,) MSI(s)(D0:F8)[11:39:12:437]:执行操作:InstallProtectedFiles(AllowUI = 1) MSI(s)(D0:F8)[11:39:12:437]:执行操作:ActionStart(名称= StartMetabaseTransaction,描述=启动IIS元数据库事务,) 操作 11:39:12:启动元数据库事务。启动 IIS 元数据库事务 MSI (s) (D0:F8) [11:39:12:453]:执行操作:CustomActionSchedule(Action=StartMetabaseTransaction,ActionType=11265,Source=BinaryData,Target=** *,CustomActionData=***) MSI (s) (D0:D4) [11:39:12:453]:调用远程自定义操作。 DLL:C:\ WINDOWS \ Installer \ MSI1D.tmp,入口点:StartMetabaseTransaction StartMetabaseTransaction:错误 0x80040154:无法获取 IID_IIMSAdminBase 对象 错误 26001。无法连接到 Internet Information Server。 (-2147221164) MSI (s) (D0!78) [11:39:13:812]:产品:DCE - 错误 26001。无法连接到 Internet Information Server。 (-2147221164)

操作于 11:39:13 结束:InstallFinalize。返回值3。 MSI (s) (D0:F8) [11:39:13:828]:用户策略值“DisableRollback”为 0 MSI (s) (D0:F8) [11:39:13:828]:计算机策略值“DisableRollback”为 0 MSI(s)(D0:F8)[11:39:13:828]:执行操作:标头(签名= 1397708873,版本= 301,时间戳= 1029397732,LangId = 1033,平台= 0,ScriptType = 2,ScriptMajorVersion = 21、ScriptMinorVersion=4、ScriptAttributes=0) MSI(s)(D0:F8)[11:39:13:828]:执行操作:DialogInfo(类型= 0,参数= 1033) MSI(s)(D0:F8)[11:39:13:828]:执行操作:DialogInfo(类型= 1,参数= DCE) MSI (s) (D0:F8) [11:39:13:828]: 执行操作:RollbackInfo(,RollbackAction=Rollback,RollbackDescription=回滚操作:,RollbackTemplate=[1],CleanupAction=RollbackCleanup,CleanupDescription=删除备份文件,CleanupTemplate=文件:[1]) 行动 11:39:13:回滚。回滚动作: 回滚:启动 IIS 元数据库事务 MSI(s)(D0:F8)[11:39:13:828]:执行操作:ActionStart(名称= StartMetabaseTransaction,描述=启动IIS元数据库事务,) MSI(s)(D0:F8)[11:39:13:828]:执行操作:ProductInfo(ProductKey = {FC6DA479-9C97-4941-8AAE-3E0C9D6DAA56},ProductName = DCE,PackageName = DCEWebInstaller.msi,语言= 1033、版本=50462720、分配=0、ObsoleteArg=0、、、PackageCode={FBFBCC4D-BE93-4AEA-8B05-922409001DE5}、、、InstanceType=0、LUASetting=0、RemoteURTInstalls=0) MSI (s) (D0:F8) [11:39:13:828]: SHELL32::SHGetFolderPath 返回:C:\Documents and Settings\Administrator\Application Data 回滚:复制新文件

My installer would fail when installed on a machine that has no IIS installed. The features that are going to be installed doesnt need IIS. The error says "Cannot connect to Internet Information Server".

In addition to that. The installer file has also a feature that requires IIS. But when I unselect that feature, the installer still looks for IIS. Below is the log it generated.

MSI (s) (D0:F8) [11:39:12:437]: Note: 1: 2318 2: C:\Program Files\Cormant Technologies\DCE\WindowsService\UninflectedWords.txt
MSI (s) (D0:F8) [11:39:12:437]: Executing op: CacheSizeFlush(,)
MSI (s) (D0:F8) [11:39:12:437]: Executing op: InstallProtectedFiles(AllowUI=1)
MSI (s) (D0:F8) [11:39:12:437]: Executing op: ActionStart(Name=StartMetabaseTransaction,Description=Starting IIS Metabase Transaction,)
Action 11:39:12: StartMetabaseTransaction. Starting IIS Metabase Transaction
MSI (s) (D0:F8) [11:39:12:453]: Executing op: CustomActionSchedule(Action=StartMetabaseTransaction,ActionType=11265,Source=BinaryData,Target=***,CustomActionData=***)
MSI (s) (D0:D4) [11:39:12:453]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI1D.tmp, Entrypoint: StartMetabaseTransaction
StartMetabaseTransaction: Error 0x80040154: failed to get IID_IIMSAdminBase object
Error 26001. Cannot connect to Internet Information Server. (-2147221164 )
MSI (s) (D0!78) [11:39:13:812]: Product: DCE -- Error 26001. Cannot connect to Internet Information Server. (-2147221164 )

Action ended 11:39:13: InstallFinalize. Return value 3.
MSI (s) (D0:F8) [11:39:13:828]: User policy value 'DisableRollback' is 0
MSI (s) (D0:F8) [11:39:13:828]: Machine policy value 'DisableRollback' is 0
MSI (s) (D0:F8) [11:39:13:828]: Executing op: Header(Signature=1397708873,Version=301,Timestamp=1029397732,LangId=1033,Platform=0,ScriptType=2,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAttributes=0)
MSI (s) (D0:F8) [11:39:13:828]: Executing op: DialogInfo(Type=0,Argument=1033)
MSI (s) (D0:F8) [11:39:13:828]: Executing op: DialogInfo(Type=1,Argument=DCE)
MSI (s) (D0:F8) [11:39:13:828]: Executing op: RollbackInfo(,RollbackAction=Rollback,RollbackDescription=Rolling back action:,RollbackTemplate=[1],CleanupAction=RollbackCleanup,CleanupDescription=Removing backup files,CleanupTemplate=File: [1])
Action 11:39:13: Rollback. Rolling back action:
Rollback: Starting IIS Metabase Transaction
MSI (s) (D0:F8) [11:39:13:828]: Executing op: ActionStart(Name=StartMetabaseTransaction,Description=Starting IIS Metabase Transaction,)
MSI (s) (D0:F8) [11:39:13:828]: Executing op: ProductInfo(ProductKey={FC6DA479-9C97-4941-8AAE-3E0C9D6DAA56},ProductName=DCE,PackageName=DCEWebInstaller.msi,Language=1033,Version=50462720,Assignment=0,ObsoleteArg=0,,,PackageCode={FBFBCC4D-BE93-4AEA-8B05-922409001DE5},,,InstanceType=0,LUASetting=0,RemoteURTInstalls=0)
MSI (s) (D0:F8) [11:39:13:828]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\Administrator\Application Data
Rollback: Copying new files

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

献世佛 2024-10-06 10:39:10

如果您使用 Orca 仔细查看 InstallExecuteSequence 中的 ConfigureIIs 自定义操作,您将看到它的执行取决于名为 SKIPCONFIGUREIIS 的属性。这是“全有或全无”开关,如果您在 IIS 相关功能关闭时设置此属性,则安装不会尝试处理 IIS 服务。

希望这有帮助。

If you take a closer look at the ConfigureIIs custom action in the InstallExecuteSequence using Orca, you'll see its execution depends on the property called SKIPCONFIGUREIIS. It is "all-or-nothing" switch, and if you set this property for those cases when your IIS-related feature is off, the installation won't try to address IIS services.

Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文