WIX: How not to call ActionStart(Name=StartMetabas

2019-08-20 06:33发布

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

标签: wix wix3
1条回答
在下西门庆
2楼-- · 2019-08-20 07:15

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.

查看更多
登录 后发表回答