Einige Programme machen das tatsächlich so. Aber Freunde findest du damit nicht. Als GNU/Linux- oder BSD-User ist man es einfach gewohnt, einen Paketmanager zu benutzen. Und im Idealfall läge dein Programm sogar bei einigen Distributionen in den Repos, dann startet man einfach den Paketmanager, sucht dort dein Paket und klickt auf Installieren, und darüber gehen dann auch Updates.
Klar kannst du es auch einzeln als Paket bündeln und auf deine Website stellen. Ist immer noch unangenehm, aber wird *viel* eher akzeptiert als so ein Setupprogramm.
Und auf jeden Fall Pluspunkte gibts für zusätzlich einen Tarball (ergo .tar.gz, .tar.bz2 oder .tar.xz), in dem die Quelldateien liegen, und im Idealfall muss man zum Kompilieren nur hineinwechseln und "./configure && make" eingeben und schon wirds kompiliert, denn daran ist man gewöhnt und da muss man sich keine Gedanken mehr machen,
wie das denn jetzt kompiliert wird. Wenn du dir so eine Makefile nicht zutraust, ist das auch kein Halsbruch, hauptsache du lieferst die Sourcen irgendwie aus. Denn sonst steht derjenige blöd da, ders auf einmal auf seinem MIPS-Router laufen lassen will, oder auf seinem SPARC-Server - das sind Szenarien, um die man sich bei Windows-Entwicklung gar keine Gedanken macht, die aber bei GNU/Linux auf einmal relevant werden und ein Mitgrund dafür sind, dass proprietäre (Closed Source) Software wenig Anklang findet. Neben der Tatsache, dass freie Software dort so verbreitet ist, dass proprietäre wirklich ins Auge sticht und man sich als potenzieller Nutzer Gedanken macht: "Was will der da vor mir verbergen?".
Also ich fasse zusammen: Closed Source bringt dort unheimlichen Marktnachteil. Und Setups schrecken eher ab, da vergleichsweise unbequem und sehr ungewohnt. Wenn du viele Nutzer ansprechen willst, halt dich an die dort üblichen Konventionen.
P.S.: Das mit den Konventionen solltest du auch nicht nur auf den Installer beziehen, es gibt noch einige andere Dinge, die manchmal ein bisschen anders üblich sind als unter Windows. Wenn dein Programm z.B. Kommandozeilenparameter annehmen kann, solltest du nicht die Windows-Syntax ("/s", "/help", ...) nehmen, sondern die traditionelle Unix- ("-s", "-abc" = "-a -b -c") bzw. GNU-Syntax ("--lange-optionen", "--help"). Und --help sollte man sowieso immer behandeln, auch wenn du sonst keine Parameter akzeptierst, denn das wird man immer aufrufen, wenn man auf der Konsole grad nicht mehr weiß, was der Befehl macht. Alternativ guckt man in die Manpage, aber wer kein --help behandelt, liefert üblicherweise auch keine Manpage aus. Wenn du das nicht alles direkt bieten kannst, ist das auch kein Beinbruch, aber i.d.R. will man ja nicht negativ auffallen
P.P.S.: Und noch was: Wenn du dich tatsächlich doch noch für einen Setup entscheidest, dann pack die Binary bloß nicht direkt in /usr/bin! Das ist für den Paketmanager gedacht! Alle anderen Installationen, wie auch immer sie durchgeführt wurden, nach /usr/local/bin oder /opt, sonst bringst du den User
völlig durcheinander.