有一些朋友在看了我写的教程里如何调用第三方软件后,经常来问我这个教程里的第三方软件应该放在哪里,相对路径怎么确定。我在教程里使用了SRCDISK这个静态变量,指代的是你的安装程序所在盘的根目录,比如你把你的安装程序放在了D盘,不管你放在了D盘多深的路径下,SRCDISK都指代D:
但是这样就很不方便啊,比如,如果我安装程序中使用了SRCDISK\jdk.exe这个路径来调用jdk,虽然刻录在光盘上运行完全没有问题,但是如果用户把光盘里的内容拷贝出来,很可能就会出错,比如他把光盘内容拷贝到D:\DISK\2010下,那么当安装程序去找SRCDISK\jdk.exe的时候,就会找不到啦。所以在实际工程中我采用了相对路径。
很多人又会来问我,这个相对路径怎么算?很简单,就是相对于你的setup.exe开始算起。
举个例子,比如你的有A和B两个文件夹,A里面放了你的安装程序,B里放了第三方程序,假设B里有个第三方程序叫test.exe,那么在安装程序调用这个test.exe的时候,相对路径就是../B\\test.exe,和我们一般写程序时的相对路径没有任何区别。