Как сделать так, чтобы в версии 3.5 только (чтобы пользователю не нужно было устанавливать более 100 МБ файлов)?
Вы упомянули, что есть "4разные версии ".NET там.На самом деле их всего 3: DotNetFX20, DotNetFX30 и DotNetFX35 и некоторые обновления Windows.Причина в том, что .NET 3.5 и .NET 3.0 на самом деле являются в основном аддитивными выпусками поверх библиотек среды .NET 2.0 и среды выполнения.
Другими словами, .NET 3.0 и .NET 2.0 являются предварительными условиями.NET 3.5.Вам нужны все эти файлы, если ваше приложение предназначено для .NET 3.5.
Однако некоторым приложениям требуется только подмножество .NET 3.5, называемое .NET 3.5 клиентский профиль .Вы можете попробовать это, установив флажок «только клиентские рамки» в опциях сборки ваших проектов Visual Studio.
Если ваше приложение все еще строится и работает нормально с профилем клиента, то вы можете изменить «Microsoft.Net.Framework.3.5» на «Microsoft.Net.Client.3.5».Это всего лишь 28 МБ.
Как сказать WiX упаковать эти файлы в файл MSI, чтобы пользователь мог загрузить только 1 файл?
предварительные условия должны быть установлены до запуска MSI, поэтому они не могут быть частью MSI.Однако вы можете сделать наоборот: упаковать необходимые компоненты и MSI в самораспаковывающийся архив, например, с помощью WinZip Self-Extractor .Самораспаковывающийся архив может вызывать извлеченный файл setup.exe.