Распространяемый сбой в Vista - PullRequest
0 голосов
/ 12 октября 2009

Я использую следующий код в моем Wix Installer.

    <DirectoryRef Id="TARGETDIR">
  <Merge Id="CRT" Language="0" SourceFile=".\resources\Microsoft_VC90_CRT_x86.msm" DiskId="1" />
  <Merge Id="ATL" Language="0" SourceFile=".\resources\Microsoft_VC90_ATL_x86.msm" DiskId="1" />
  <Merge Id="MFC" Language="0" SourceFile=".\resources\Microsoft_VC90_MFC_x86.msm" DiskId="1" />
  <Merge Id="MFCLOC" Language="0" SourceFile=".\resources\Microsoft_VC90_MFCLOC_x86.msm" DiskId="1" />
  <Merge Id="OpenMP" Language="0" SourceFile=".\resources\Microsoft_VC90_OpenMP_x86.msm" DiskId="1" />
  <Merge Id="CRT Policy" Language="0" src=".\resources\policy_9_0_Microsoft_VC90_CRT_x86.msm" DiskId="1" />
  <Merge Id="MFC Policy" Language="0" src=".\resources\policy_9_0_Microsoft_VC90_MFC_x86.msm" DiskId="1" />
</DirectoryRef>

<Feature Id="VCRedist" Title="Visual C++ 9.0 Runtime" AllowAdvertise="no" Display="hidden" Level="1">
  <MergeRef Id="CRT" />
  <MergeRef Id="CRT Policy"/>
  <MergeRef Id="ATL" />
  <MergeRef Id="MFC" />
  <MergeRef Id="MFC Policy"/>
  <MergeRef Id="MFCLOC" />
  <MergeRef Id="OpenMP"  />
</Feature>

Мне кажется, что сборка msi с этим кодом работает во многих системах XP, но не работает в Vista. Программы и ярлыки создаются должным образом в Vista, как XP.

Что мне делать в Vista, чтобы установить эти распространяемые файлы ?? Я не хочу создавать setup.exe с загрузчиком. Мое требование гласит, что все должно быть только в одной msi.

Любой пример кода мне очень поможет.

Заранее благодарим за любую ценную помощь.

С уважением,

tvks

Ответы [ 2 ]

0 голосов
/ 22 октября 2009

В моем текущем проекте мы устанавливаем распространяемые файлы VC90 так же, как вы описали в своем посте. Мы используем одни и те же атрибуты / значения и т. Д. Однако мы не включаем никаких политик-модулей. Работает как под XP, так и под Vista.

В руководстве Wix говорится, что:

Как правило, нет необходимости включать политики MSM как часть установки.

Итак, если вы еще не попробовали, создайте установку без каких-либо политик и посмотрите, работает ли она лучше.

0 голосов
/ 13 октября 2009

Я подумал, что c ++ redist - это один из пакетов, которые рекомендуется устанавливать с использованием предварительно упакованного MSI от MS. также я уверен, что все модули слияния, которые вы включили в ваш установщик, нуждаются в соответствующих модулях слияния политик, а не только crt и mfc.

еще одна вещь, чтобы проверить, правильно ли поднимается ваша msi в Vista (приглашение UAC)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...