Creo que coincidimos con Ricardo. Obtienes la carpeta actual de tu aplicación con GetCurrentDirectory (PB 8 adelante) o con la API GetCurrentDirectoryA (buscá en este foro).
De esa manera, dejarás que instalen tu aplicación en la unidad que ellos quieran. El asunto es que no podrán ejecutar tu aplicación, sino no está en la unidad C. Es decir:
Script en el evento open de tu aplicación:
-------------------------------------
string ls_ruta,ls_unidad
//Obtenemos la ruta donde se ejecuta tu aplicación
ls_ruta=GetCurrentDirectory ( )
//Extraemos la primera letra de esa ruta:
ls_unidad=Mid(ls_ruta,1,1)
If ls_unidad<>"C" then
messagebox("Aviso", "No se puede ejecutar la aplicación en la unidad "+ls_unidad)
else
open(w_principal)
end if
-----------------------------------------