Вопрос

Я использую Wix v3.0 (которая сводится к установщику MSI) и пытаюсь создать условие, обеспечивающее установку Excel 2003. Каков наилучший (самый надежный) способ обнаружения присутствия Excel 2003 на компьютере?

Я видел много разных предложений, но нет однозначного или авторитетного ответа.

Это было полезно?

Решение

Я нашел файл в наборе инструментов Office 2003, Рабочие книги Office 2003 по пути к ключам и параметрам установки по умолчанию , которые содержат все идентификаторы GUID для компонентов Office. Исходя из этого, я использовал поиск компонентов, чтобы найти компонент Core Excel. В WiX мое состояние выглядит так:

    <Property Id="EXCEL2003INSTALLED">
      <!-- This is the Component Id of Global_Excel_Core -->
      <ComponentSearch Id="DetectExcel2003" Guid="{A2B280D4-20FB-4720-99F7-40C09FBCE10A}" Type="file"/>
    </Property>
    <Condition Message="This application requires Excel 2003 to be installed."><![CDATA[Installed OR EXCEL2003INSTALLED]]></Condition>

На этой странице есть руководства по компонентам для других приложений Office и других версий.

Другие советы

Мы проверяем раздел реестра InstallRoot по адресу:

HKLM\Software\Microsoft\Office\12.0\Excel\InstallRoot

(замените 12.0 на соответствующий номер версии для вашего приложения).

Обратите внимание, что в 64-разрядных операционных системах это будет отражено в 32-разрядном разделе реестра (см. эта статья Microsoft для получения дополнительной информации об отражении реестра).

Похоже, что это хорошо работает для версий 2000, XP, 2003, 2007 и 2010, по крайней мере. Единственное изменение в 2010 году заключается в том, что 64-битная версия требует, чтобы вы заглядывали в 64-битный раздел реестра.

Вы можете попробовать проверить реестр или, возможно, типичный путь установки для Excel.

Excel (Office) также устанавливается установщиком Windows. Почему вы не проверяете коды компонентов Excel?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top