Just a reminder about self-signed certificates: they're no more valid than no certificate for Windows, and that's normal.
Nothing prevents someone from creating one with the same name as the original certificate and spreading malware in the software.
The advantage of expensive certificates is that there is a check on the identity of the signatory or his company. This is the only reason to use certificates: to validate the issuer and ensure that the file has not been modified since it was signed.
Self-signature can only be used within a company, with a key distributed to company devices for internal software. For external software, it's of no use at all.
To create a personal certificate, all you have to do is go to the environment options in the Windows deployment level, and the IDE will suggest either using an existing certificate, or creating your own.