Я пытался сделать что-то вроде того, что опубликовано здесь о создании символической ссылки в установщике WiX. В нем объясняется, как сделать надстройку, которая создаст символическую ссылку. Однако это не то, что я ищу. Я пытаюсь использовать что-то вроде этого
<CustomAction Id="MakeSymbolicLink"
Directory="TARGETDIR"
ExeCommand="cmd /c mklink .\linkToItem.lnk '%CommonProgramFiles(x86)%\Additional Folders\myexecutable.exe'" />
Я пытался использовать cmd.exe
вместо cmd для этого и не добился успеха.
Затем я вызываю пользовательское действие следующим образом:
<Custom Action="MakeSymbolicLink" After="InstallFinalize" />
Я пытался вызвать это и до InstallFinalize
, и я получаю такое же поведение.
Я стремлюсь создать символическую ссылку с помощью этой настройки. Другое решение, которое у меня есть, - это возможность создать ярлык, однако я не смог найти много информации о том, как сделать эту опцию для мест, отличных от меню «Пуск» или рабочего стола.
Когда я запускаю установщик после добавления этих строк, он не может их выполнить. Без вызова настраиваемого действия символической ссылки я могу успешно завершить установку.
Конечная цель — получить символическую ссылку из общих исполняемых файлов на место установки приложения.
Обновлять
Я получил символическую ссылку для работы, измененное пользовательское действие теперь выглядит так:
<CustomAction Id="MakeSymbolicLink"
Directory="TARGETDIR"
ExeCommand='cmd /c mklink .\linkToItem.lnk "%CommonProgramFiles(x86)%\Additional Folders\myexecutable.exe"'
Execute="deferred"
Impersonate="no"/>
и вызов пользовательского действия следующим образом:
<Custom Action="MakeSymbolicLink" Before="InstallFinalize" />
Но теперь, когда я запускаю удаление, я получаю следующее сообщение об ошибке: There is a problem with this windows installer package. a program run as part of the setup did not finish as expected contact your support personnel or package vendor.
ExeCommand='something'
) и двойные внутренние кавычки (для путей). - person zett42   schedule 06.08.2018ExeCommand
теперь='cmd /c mklink .\linkToItem.lnk "C:\Program Files (x86)\Common Files\Additional Folders\myexecutable.exe"'
При запуске установщика я мельком увидел окно CMD, в котором говорилось, что разрешение отклонено. - person Vince Seely   schedule 10.08.2018