Автономный компоновщик InstallShield 2011 года не включает в себя обязательные компоненты Setup, необходимые для .NET 3.5; при сборке с полной установкой он успешно завершается, но при сборке с SAB выдает следующий набор ошибок:
ISDEV: ошибка -1007: не удается скопировать исходный файл 'c: \ Program Files \ InstallShield \ 2011 SAB \ SetupPrerequisites \ Microsoft .net \ 3.5 \ Full \ dotnetfx35.exe' в целевой каталог [путь] \ Release \ DiskImages \ DISK1 \ ISSetupPrerequisites {2B692A0F-7172-44B2-B0CB-9991078AFD31} \ dotnetfx35.exe '
ISDEV: ошибка -5054: не удалось определить размер файла "[путь] \ Release \ DiskImages \ DISK1 \ ISSetupPrerequisites {2B692A0F-7172-44B2-B0CB-9991078AFD31} \ dotnetfx35.exe"
ISDEV: ошибка -1007: невозможно скопировать исходный файл 'c: \ Program Files \ InstallShield \ 2011 SAB \ SetupPrerequisites \ Microsoft .net \ 3.5 \ Full \ Helper.exe' в целевое хранилище '[путь] \ Release \ DiskImages \ DISK1 \ ISSetupPrerequisites {2B692A0F-7172-44B2-B0CB-9991078AFD31} \ Helper.exe '
ISDEV: ошибка -5054: не удалось определить размер файла "[путь] \ Release \ DiskImages \ DISK1 \ ISSetupPrerequisites {2B692A0F-7172-44B2-B0CB-9991078AFD31} \ Helper.exe"
Несколько странно, что, не имея возможности скопировать (из SRC в DEST), он все еще пытается определить размер файла DEST!
Но в любом случае основная причина заключается в том, что папка "Microsoft .net" в папке SetupPrerequisites в каталоге установки (c: \ Program Files \ InstallShield \ 2011 SAB) отсутствует. Он должен иметь папку «3.5», в которой должна быть папка «Full», которая должна содержать два файла: dotnetfx35.exe и Helper.exe.
Мы исправили это в наших установках SAB, скопировав эти файлы из полной установки в установку SAB.
На самом деле, у нас уже была папка InstallShield с ISM, поэтому мы просто создали там папку SetupPrerequisites, поместили ту же структуру, что должна была быть установлена, а затем добавили логику в сборку так, чтобы, если она увидит это папку, он скопирует все содержимое в папку установки SAB для успешной сборки.
Я отвечаю на свой вопрос в предыдущем абзаце; Я хотел показать это всем, кто может столкнуться с этой проблемой.