Maybe the other packages that don't fail to install the desktop file use an install file (debian/armory.install in Armory's case) to install the desktop files? See
http://packaging.ubuntu.com/html/debian-dir-overview.html and search the page for "desktop" to find what I am talking about.
You won't be able to generate the desktop files on demand like the postinst script currently does, but it looks like there are static desktop files in dpkgfiles currently anyway.