加.h和不加.h,是由编译器决定的,这是一个标准的问题,有些需要加,有些不需要,你看这个详细解释:
http://blog.chinaunix.net/u1/54409/showart_1077601.html
引用系统文件(就是.h放在Visual Stdio设置的Include目录,以及系统环境变量设置的Include目录)和本地文件的区别,没见过你说的 《》,应该是 <>,它会从include目录去搜索对应的头文件;" " 则不会。
安装包用InstalShield这样的工具做的.
有很多安装程序的打包工具。
一般来讲调用c++编译器提供的自有头文件(一般都是标准c++)用<>不加h,调用你自己编写的头文件时候用" "加h,编译器遇到<>会自动指定搜索include文件夹,这样编译速度会更快些。