ISCmdBld.exe ---- Не заменяет последний файл во время сборки - PullRequest
1 голос
/ 12 октября 2010

Я разрабатываю инструмент, который будет автоматизировать установку installshield (версия для начинающих 2008) (тип проекта InstallScript MSI). На входные файлы ссылались непосредственно из папки для отбрасывания, которая копирует все файлы после сборки из Team Foundation Server (TFS).

Далее из командного файла я вызываю ISCmdBld.exe, который создаст проект Installshield через командную строку.

Когда я начал сборку, я обнаружил, что версии файлов старше в редакторе Installshield, а также в папке Release, где, как и в Drop Location TFS, это последняя версия. Как программно обновить список файлов Installshield или есть какое-либо доступное решение.

Спасибо

1 Ответ

2 голосов
/ 22 октября 2010

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

В наших сборках я сопоставляю диск W: \ с нашей текущей папкой для перетаскивания, используя следующую команду:

 <!-- Map the W drive to the current drop's release folder -->
<Exec Command="&quot;c:\pstools\psexec.exe&quot; -s -accepteula subst w: &quot;$(DropLocation)\$(BuildNumber)\Release&quot;" ContinueOnError="false" />

Затем я вошел в свой проект установки и в представлении «Переменные пути» изменил путь ссылки на W.

Для этого требуется PsExec, бесплатная утилита от Microsoft:http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

В конце сборки я разархивирую диск W, чтобы следующая сборка могла работать без ошибки:

<Exec Command="&quot;c:\pstools\psexec.exe&quot; -s -accepteula subst w: /D" ContinueOnError="true" />
...