如果用InstallShield,下面有一段代码:
function OnORACLEInstalled()
  STRING szName,szValue,szPath;
  STRING szSubkey;
begin  
  RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE); 
  szSubkey = "Software\\Oracle";
  RegDBCreateKeyEx(szSubkey,"");
  szValue = TARGETDIR + "\\Oracle";
  RegDBSetKeyValueEx ("Software\\Oracle","inst_loc", REGDB_STRING_EXPAND, szValue,-1);
  RegDBSetKeyValueEx ("Software\\Oracle\\ALL_HOMES","DEFAULT_HOME", REGDB_STRING_EXPAND, "DEFAULT_HOME",-1);
  RegDBSetKeyValueEx ("Software\\Oracle\\ALL_HOMES","HOME_COUNTER", REGDB_STRING_EXPAND, "1",-1);
  RegDBSetKeyValueEx ("Software\\Oracle\\ALL_HOMES","LAST_HOME", REGDB_STRING_EXPAND, "0",-1);
  RegDBSetKeyValueEx ("Software\\Oracle\\ALL_HOMES\\ID0","NAME", REGDB_STRING_EXPAND, "OraHome81",-1);
  RegDBSetKeyValueEx ("Software\\Oracle\\ALL_HOMES\\ID0","NLS_LANG", REGDB_STRING_EXPAND, "NA",-1);
  RegDBSetKeyValueEx ("Software\\Oracle\\ALL_HOMES\\ID0","Path", REGDB_STRING_EXPAND, szValue,-1);
  RegDBSetKeyValueEx ("Software\\Oracle\\Home0","NLS_LANG", REGDB_STRING_EXPAND, "SIMPLIFIED CHINESE_CHINA.ZHS16GBK",-1);
  RegDBSetKeyValueEx ("Software\\Oracle\\Home0","ORACLE_GROUP_NAME", REGDB_STRING_EXPAND, "Oracle_OraHome81",-1);
  RegDBSetKeyValueEx ("Software\\Oracle\\Home0","ORACLE_HOME", REGDB_STRING_EXPAND, szValue,-1);
  RegDBSetKeyValueEx ("Software\\Oracle\\Home0","ORACLE_HOME_KEY", REGDB_STRING_EXPAND, "Software\\ORACLE\\HOME0",-1);
  RegDBSetKeyValueEx ("Software\\Oracle\\Home0","ORACLE_HOME_NAME", REGDB_STRING_EXPAND, "OraHome81",-1);
  RegDBSetKeyValueEx ("Software\\Oracle\\Home0","SQL_PATH", REGDB_STRING_EXPAND, szValue,-1);
  RegDBSetKeyValueEx ("Software\\Oracle\\Home0","TNS_ADMIN", REGDB_STRING_EXPAND, szValue,-1);
  
  
  
  szPath = TARGETDIR + "\\ORACLE\\BIN"   ;
  //假如是Windows 9X和Me,则不支持长文件名
  if (IsWindowsNT()!=IS_WINDOWSNT)  then
    LongPathToShortPath(szPath);
  endif;
  LongPathToShortPath(szPath);
  AddPath(szPath);
  
end;