Installdir на тихой установке - PullRequest
       13

Installdir на тихой установке

0 голосов
/ 25 ноября 2010

У меня следующая проблема, я определяю новое свойство:

<Property Id="TEMP_DIR" Secure="yes" >
    <RegistrySearch Id="TEMP_DIR" Root="HKLM" Key="SOFTWARE\$(Company)" Name="InstallDir" Type="directory"></RegistrySearch>
</Property>

А потом я определяю новый компонент:

<Component Id="PerformAction" Guid="E2E4E3E5-FBEC-4051-B47B-9347B78105C2">
   <Condition><![CDATA[TEMP_DIR<>INSTALLDIR]]></Condition>
       …
</Component>

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

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

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

Комментарий

После дальнейшего расследования и по следующей ссылке:

msdn.microsoft.com / ru-ru / library / aa368007% 28VS.85% 29.aspx

Я понял, что INSTALLDIR инициализируется только после действия CostFinialize, и поля условия включают или отключают во время этого действия, что означает, что свойство на этом этапе пусто ...

Есть ли у вас какие-либо идеи о том, как инициализировать свойство раньше?

1 Ответ

0 голосов
/ 25 ноября 2010

Я подозреваю, что свойство INSTALLDIR устанавливается на основе пользовательского ввода где-то в последовательности пользовательского интерфейса, который не запускается в режиме без вывода сообщений.В этом случае вы можете передать значение INSTALLDIR в качестве параметра для msiexec.exe.

...