I agree to Mrs Beanbag. Its all about the developer how they release their software. The most do/did it right with just copy to a programm directory as an installation. You cam move it how you like and it will always work. Installer itself isn`t the problem. Only the wrong use of it. In simplest form it gives some information to the user, ask for the directory and then just copy. Of course it is not always so simple and there are exceptions. Fonts and Libs for example.
Using assigns is in most cases a bad idea. There is progdir: since 2.x or 3.1. Assign command is for the user and for the OS IMHO. It just doesn`t make sense to have dozens of programm assigns beside the user and OS ones.