С помощью InstallShield вы можете делать большую часть того, что вам нужно, но не все, и вы должны знать, что то, что вы делаете, будет очень трудно отлаживать.Написание установщика такого масштаба - это набор навыков, свойственный только для новичка.
В качестве альтернативы вы можете выделить функциональность - написать простой установщик, который выполняет абсолютные основы, а затем написать отдельную конфигурациюУтилита, с помощью которой вы сможете делать все, что захотите.