2015-02-10 2 views
0

Я использую следующий код для установки пакета .NET автоматическиАвтоматической установка платформы .NET от InnoSetup установщика

procedure dotnetfx40full(); 
begin 
    if (not netfxinstalled(NetFx40Full, '')) then 
     AddProduct('dotNetFx40_Full_setup.exe', 
      CustomMessage('dotnetfx40full_lcid') + ' /q /passive /norestart', 
      CustomMessage('dotnetfx40full_title'), 
      CustomMessage('dotnetfx40full_size'), 
      dotnetfx40full_url, 
      false, false); 
end; 

Он использует этот проект. Пожалуйста, проверьте, не можете ли вы отправить полный код здесь.
http://www.codeproject.com/Articles/20868/NET-Framework-Installer-for-InnoSetup

Но после того, как программа установки .NET загружена и программа установки выполнена с помощью переключателей, установщик .NET не работает. Он показывает это сообщение о правильном использовании переключателей.

enter image description here

ответ

3

Если вы пытаетесь выполнить dotNetFx40_Full_setup.exe /q /passive /norestart вручную, вы получите такое же поведение.

После некоторых испытаний, я считаю, что вы не можете комбинировать /q и /passive. Это имеет смысл, поскольку оба делают то же самое по-другому.

Просто используйте только один из /q или /passive в коде, в зависимости , если вы хотите увидеть прогресс (/passive) или нет (/q).

+0

хорошо, проверит и вернется. – techno

+0

@techno Если собранная информация вам не поможет, включите в свой вопрос то, что вы нашли. –

+0

Это проблема с пространством в директиве '/ q/passive/norestart', когда я удалял пробел '/ q/passive/norestart', но работает лицензионное соглашение для фреймворка .net. Я использовал тот же код (измененный), чтобы создать мой старый установщик, он отлично работает и не запрашивает лицензионное соглашение MS. К сожалению, я потерял этот код, поэтому я снова пишу. Что здесь происходит? – techno

Смежные вопросы