Это самая стандартная утилита (от Microsoft), загружается отдельно только разработчиком, т.е. подписывателем, т.е. Вами. Включать в свой продукт ее не нужно - читайте по ссылке. Именно так и подписывают все программы под Windows.
Если я спросил о "программной подписи", значит мне нужно подписывать не мою программу, а моей программой подписывать. Это немножечко разные вещи. Поэтому, не подходит этот вариант.
Я как-то делал через Capicom, что бы его не нужно было ставить в систему зашивал в свое приложение с помощью BoxedApp SDK, и с помощью него же виртуально регистрировал COM в виртуальном реестре.