WIX Правильный способ изменить путь установки по умолчанию - PullRequest
0 голосов
/ 04 августа 2020

Скажем, у меня есть установщик, который устанавливает какой-то компонент по некоторому пути по умолчанию (и я позволяю пользователю изменять путь по умолчанию на все, что он хочет):

<!--ver 1.0-->
<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="INSTALLFOLDER" Name="SomeFolder1" />   
  </Directory>
</Directory>

<DirectoryRef Id="INSTALLFOLDER">
  <Component Id="Comp1"  Guid="*">        
    <File Id="file1.dll" Source="$(var.SourceFolder)\file1.dll"/>
  </Component>
</DirectoryRef>

<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" ></Property>

Этот компонент имеет автоматически сгенерированный guid.

Допустим, в какой-то более поздней версии моего установщика все, что я хотел бы сделать, это изменить путь по умолчанию на что-то еще:

<!--ver 2.0-->
<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="SubFolderId" Name="SubFolder" />
      <Directory Id="INSTALLFOLDER" Name="SomeFolder1" />   
  </Directory>
</Directory>

Однако это изменение приведет к тому, что guid моего компонента будет будет пересчитан.

Теперь, если я обновлю свой продукт до этой новой версии (мой установщик может определить исходное место установки версии 1.0 и установит INSTALLFOLDER для него во время обновления), я нарушу правила компонента , поскольку я буду устанавливать точно такой же файл в то же место, но с другим идентификатором компонента.

Вопрос в том, что если в какой-то момент я решил изменить папку установки по умолчанию для своего продукта, что будет правильным как это сделать?

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