Я не уверен, что когда-либо видел распространяемый пакет, включающий в себя .Net 1.0 и Service Packs, поэтому вам, возможно, придется идти по пути управления вашими предпосылками.
У вас возникнет проблема в том, что любая программа, написанная на .NET, потребует установки .NET Framework. В противном случае вы получите сообщение об ошибке, как только вы попытаетесь запустить приложение.
Вам нужно будет создать программу загрузки, написанную, например, на C++, которая может выполнять проверки для .NET. ЕСЛИ .NET отсутствует, вы можете получить свой загрузчик для установки .NET 1.0, а затем любой SP, который вы желаете.
Как только ваш загрузчик подготовил среду, он может просто запустить ваше основное приложение .NET.
Я сделал что-то очень похожее, у меня есть компонент на C++, который проверяет и обеспечивает установщик Windows 3.1 и установлен как минимум .NET 2.0. Если любой из них отсутствует, я автоматически устанавливаю их перед передачей элемента управления в основное приложение .NET.
Есть много хороших статей для проверки, какая версия .net-фреймворков установлена. Обычно все это требует проверки RegistryKey.