Neutron,
по второму вопросу ответ есть в сборнике скриптов в шапке
Код:

[Setup]
DefaultDirName={reg:HKLM\Software\My Program, Path}
где будет браться путь из HKLM\Software\My Program , где ключ обозван Path , где в ключе Path хранится путь до того, что тебе надо.
Вот как отключить окно выбора пути установки:
[Setup]
DefaultDirName={pf}\My Program
DisableDirPage=yes
Если же тебе надо, чтобы при отсутствии пути в реестре установка отменялась, то тебе надо задать проверку в реестре наличия ключа Path. Хотя я допускаю, что возможно, если установка не найдет этот ключ в реестре, то она в любом случае отменит сама себя.
С первым можно попробовать так:
Код:

Function InitializeSetup: Boolean;
var res : integer;
begin
...
Exec('ping.exe ', ' 2ip.ru ', ExpandConstant('{sys}'), SW_HIDE, ewWaitUntilTerminated, res);
if res > 0 then begin
MsgBox('Надено подключение к интернету. Установка будет прекращена'+Filepath, mbInformation, MB_OK);
Result := False;
end;
end; //InitializeSetup