如果用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;
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;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货