用INNO SETUP 做安装程序时
[Registry]
Root: HKLM; Subkey: Software\Borland; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: "Software\My Company\My Program"; Flags: uninsdeletekey现在是这样的,如果把程序删除后,那么如果还有别的程序需要访问SQL数据库时候,就连接不上,我一看原来是程序在卸载的时候把对应的KEY值删除了,
后来发现 原来有个FLAGS 是: unisdeletekey 我猜他的意思应该是说,当删除的时候删除子KEY,  那个uninsdeletekeyifempty 大概就是说如果下面的子键删除后,就可以清空,
我现在想做的是,当程序卸载的时候,不对注册表进行任何操作,但我把什么
flags:uninsdeletekey去掉,发现在程序卸载的时候仍然会删除子KEY
以至于别的程序访问不到MSSQL数据库
我想应该是这个FLAGE在作怪,请问 我改把这个FLAGE 附怎么值?????

解决方案 »

  1.   

    [Registry]
    Root: HKLM; Subkey: Software\Borland; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\BLW32; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\BLW32; ValueType: string; ValueName: BLAPIPATH; ValueData: {pf}\Common Files\Borland Shared\BDE; Flags: uninsdeletekey
    Root: HKLM; Subkey: Software\Borland\BLW32; ValueType: string; ValueName: LOCALE_LIB1; ValueData: fareasst.bll; Flags: uninsdeletekey
    Root: HKLM; Subkey: Software\Borland\BLW32; ValueType: string; ValueName: LOCALE_LIB2; ValueData: usa.bll; Flags: uninsdeletekey
    Root: HKLM; Subkey: Software\Borland\Database Engine; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine; ValueType: string; ValueName: DLLPATH; ValueData: {pf}\Common Files\Borland Shared\BDE; Flags: uninsdeletekey
    Root: HKLM; Subkey: Software\Borland\Database Engine; ValueType: string; ValueName: CONFIGFILE01; ValueData: {pf}\Common Files\Borland Shared\BDE\IDAPI.CFG; Flags: uninsdeletekey
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; Flags: uninsdeletekey
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: VERSION; ValueData: 4.0
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: TYPE; ValueData: SERVER
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: DLL32; ValueData: SQLMSS32.DLL
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: VENDOR INIT; ValueData: 
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: CONNECT TIMEOUT; ValueData: 30
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: TIMEOUT; ValueData: 60
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: DRIVER FLAGS; ValueData: 
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: TRACE MODE; ValueData: 0
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: MAX DBPROCESSES; ValueData: 31
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueN
      

  2.   

    使用最新版
    看Inno的Help就清楚了
      

  3.   

    Flags: uninsdeletekeyifempty这个不行吗?
      

  4.   

    to:楼上的  
    这个标志是不行的, 我把这个FLAGS 去掉,他仍然会卸载的
    晕 ,怎么没有人在用这个软件的吗???
      

  5.   

    为什么要去掉??这个 Flags 意思是如果为空才卸载把这个Flags加上!试试
      

  6.   


    郁闷
    我刚刚看了帮助文档 FLAGS总共才几个值 
    我在每一行后面都加上 uninsdeletekeyifempty
    这次更奇怪了,有的机器上可以,有的机器上不可以, 当然这些机器都有SQL2000的
    糊涂
      

  7.   

    TO: CDSoftwareWj(95927
                                 给你200分 帮忙给我看看[Setup]
    AppName=语音卡自动接收系统
    AppVerName=1.0
    AppPublisher=湖州泰格电子有限公司
    AppPublisherURL=http://www. catvinfo.com
    AppSupportURL=http://www. catvinfo.com
    AppUpdatesURL=http://www. catvinfo.com
    DefaultDirName={pf}\语音卡自动接收系统
    DefaultGroupName=语音卡自动接收系统[Tasks]
    Name: desktopicon; Description: 桌面上创建一个图标(&D); GroupDescription: 添加图标:
    [Files]
    Source: G:\code\程序\Ut2v\西安\PTTEST.exe; DestDir: {app}; Flags: ignoreversion
    Source: G:\code\程序\Ut2v\西安\up.sql; DestDir: {app}; Flags: ignoreversion
    Source: G:\code\程序\Ut2v\西安\up1.sql; DestDir: {app}; Flags: ignoreversion
    Source: G:\code\程序\Ut2v\西安\UTELL.SQL; DestDir: {app}; Flags: ignoreversion
    Source: G:\code\程序\Ut2v\西安\USERTELL.INI; DestDir: {app}; Flags: ignoreversion
    Source: G:\code\程序\Ut2v\mvoice\sys\*.*; DestDir: {app}\mvoice\sys; Flags: ignoreversion
    Source: G:\code\程序\Ut2v\mvoice\user\MSCREATE.DIR; DestDir: {app}\mvoice\user; Flags: ignoreversion
    Source: G:\code\程序\Ut2v\mvoice\*.*; DestDir: {app}\mvoice; Flags: ignoreversion
    Source: D:\Program Files\Common Files\Borland Shared\BDE\blw32.dll; DestDir: {pf}\Common Files\Borland Shared\BDE; CopyMode: alwaysoverwrite
    Source: D:\Program Files\Common Files\Borland Shared\BDE\idapi32.dll; DestDir: {pf}\Common Files\Borland Shared\BDE; CopyMode: alwaysoverwrite
    Source: D:\Program Files\Common Files\Borland Shared\BDE\FAREAST.BTL; DestDir: {pf}\Common Files\Borland Shared\BDE; CopyMode: alwaysoverwrite
    Source: D:\Program Files\Common Files\Borland Shared\BDE\USA.BTL; DestDir: {pf}\Common Files\Borland Shared\BDE; CopyMode: alwaysoverwrite
    Source: D:\Program Files\Common Files\Borland Shared\BDE\idr20009.dll; DestDir: {pf}\Common Files\Borland Shared\BDE; CopyMode: alwaysoverwrite
    Source: D:\Program Files\Common Files\Borland Shared\BDE\idsql32.dll; DestDir: {pf}\Common Files\Borland Shared\BDE; CopyMode: alwaysoverwrite
    Source: D:\Program Files\Common Files\Borland Shared\BDE\bantam.dll; DestDir: {pf}\Common Files\Borland Shared\BDE; CopyMode: alwaysoverwrite
    Source: D:\Program Files\Common Files\Borland Shared\BDE\sqlmss32.dll; DestDir: {pf}\Common Files\Borland Shared\BDE; CopyMode: alwaysoverwrite
    Source: D:\Program Files\Common Files\Borland Shared\BDE\IDAPI.CFG; DestDir: {pf}\Common Files\Borland Shared\BDE; CopyMode: alwaysoverwrite
    Source: G:\setup\TWEDITLW.DLL; DestDir: {app}; Flags: ignoreversion
    Source: G:\setup\98\TW8A.DLL; DestDir: {app}; Flags: ignoreversion
    Source: G:\setup\98\TW8A.VXD; DestDir: {app}; Flags: ignoreversion
    [Icons]
    Name: {group}\语音卡自动接收系统; Filename: {app}\PTTEST.exe
    Name: {userdesktop}\语音卡自动接收系统; Filename: {app}\PTTEST.exe; Tasks: desktopicon[Run]
    Filename: {app}\PTTEST.exe; Description: 运行 语音卡自动接收系统; Flags: nowait postinstall skipifsilent
      

  8.   

    [Registry]
    Root: HKLM; Subkey: Software\Borland; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\BLW32; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\BLW32; ValueType: string; ValueName: BLAPIPATH; ValueData: {pf}\Common Files\Borland Shared\BDE; Flags: uninsdeletekey
    Root: HKLM; Subkey: Software\Borland\BLW32; ValueType: string; ValueName: LOCALE_LIB1; ValueData: fareasst.bll; Flags: uninsdeletekey
    Root: HKLM; Subkey: Software\Borland\BLW32; ValueType: string; ValueName: LOCALE_LIB2; ValueData: usa.bll; Flags: uninsdeletekey
    Root: HKLM; Subkey: Software\Borland\Database Engine; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine; ValueType: string; ValueName: DLLPATH; ValueData: {pf}\Common Files\Borland Shared\BDE; Flags: uninsdeletekey
    Root: HKLM; Subkey: Software\Borland\Database Engine; ValueType: string; ValueName: CONFIGFILE01; ValueData: {pf}\Common Files\Borland Shared\BDE\IDAPI.CFG; Flags: uninsdeletekey
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; Flags: uninsdeletekey
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: VERSION; ValueData: 4.0
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: TYPE; ValueData: SERVER
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: DLL32; ValueData: SQLMSS32.DLL
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: VENDOR INIT; ValueData: 
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: CONNECT TIMEOUT; ValueData: 30
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: TIMEOUT; ValueData: 60
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: DRIVER FLAGS; ValueData: 
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: TRACE MODE; ValueData: 0
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: MAX DBPROCESSES; ValueData: 31
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: DLL; ValueData: SQLD_SS.DLL
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; Flags: uninsdeletekey
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: DATABASE NAME; ValueData: 
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: SERVER NAME; ValueData: MSS_SERVER
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: USER NAME; ValueData: MYNAME
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: OPEN MODE; ValueData: READ/WRITE
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: SCHEMA CACHE SIZE; ValueData: 8
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: BLOB EDIT LOGGING; ValueData: 
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: LANGDRIVER; ValueData: 
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: SQLQRYMODE; ValueData: 
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: SQLPASSTHRU MODE; ValueData: SHARED AUTOCOMMIT
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: DATE MODE; ValueData: 0
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: SCHEMA CACHE TIME; ValueData: -1
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: MAX QUERY TIME; ValueData: 300
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: MAX ROWS; ValueData: -1
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: BATCH COUNT; ValueData: 200
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: ENABLE SCHEMA CACHE; ValueData: FALSE
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: SCHEMA CACHE DIR; ValueData: 
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: HOST NAME; ValueData: 
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: APPLICATION NAME; ValueData: 
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: NATIONAL LANG NAME; ValueData: 
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: ENABLE BCD; ValueData: FALSE
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: TDS PACKET SIZE; ValueData: 4096
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: BLOBS TO CACHE; ValueData: 64
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: BLOB SIZE; ValueData: 32Root: HKLM; SubKey: SYSTEM\CurrentControlSet\Services\tw8a; ValueType: dword; ValueName: Type; ValueData: $00000001
    Root: HKLM; SubKey: SYSTEM\CurrentControlSet\Services\tw8a; ValueType: dword; ValueName: Start; ValueData: $00000003
    Root: HKLM; SubKey: SYSTEM\CurrentControlSet\Services\tw8a; ValueType: string; ValueName: Group; ValueData: Extended base
    Root: HKLM; SubKey: SYSTEM\CurrentControlSet\Services\tw8a; ValueType: dword; ValueName: ErrorControl; ValueData: $00000001
      

  9.   

    不对,刚刚发错了 是下面这个, 绝对200分兑现[Setup]
    AppName=广电系统设备器材管理系统
    AppVerName=设备管理系统 V 1.3
    AppPublisher=湖州泰格电子有限公司
    DefaultDirName={pf}\广电系统设备器材管理系统
    DefaultGroupName=广电系统设备器材管理系统
    [Tasks]
    Name: "desktopicon"; Description: "桌面上创建一个图标(&D)"; GroupDescription: "添加图标:"       [Files]
    Source: "F:\beyond\28\create.exe"; DestDir: "{app}"; Flags: ignoreversion
    Source: "F:\beyond\28\beyond.sql"; DestDir: "{app}"; Flags: ignoreversion
    Source: "F:\beyond\28\beyond.ini"; DestDir: "{app}"; Flags: ignoreversion
    Source: "F:\beyond\28\beyond.exe"; DestDir: "{app}"; Flags: ignoreversion
    Source: "F:\beyond\setup\bde\*.*"; DestDir: "{pf}\Common Files\Borland Shared\BDE"; Flags: ignoreversion
    [Icons]Name: "{group}\数据库设置"; Filename: "{app}\create.exe" ; WorkingDir: {app}
    Name: "{group}\广电系统设备器材管理系统"; Filename: "{app}\beyond.exe" ; WorkingDir: {app}
    Name: "{group}\卸载 广电系统设备器材管理系统"; Filename: "{uninstallexe}"
    Name: {userdesktop}\设备管理系统; Filename: {app}\beyond.exe; WorkingDir: {app}; MinVersion: 4,4; Tasks: desktopicon[Run]
    Filename: "{app}\create.exe"; Description: "运行 广电系统设备器材管理系统"; Flags: nowait postinstall skipifsilent
      

  10.   

    [Registry]
    Root: HKLM; Subkey: Software\Borland; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\BLW32; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\BLW32; ValueType: string; ValueName: BLAPIPATH; ValueData: {pf}\Common Files\Borland Shared\BDE;  Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\BLW32; ValueType: string; ValueName: LOCALE_LIB1; ValueData: fareasst.bll;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\BLW32; ValueType: string; ValueName: LOCALE_LIB2; ValueData: usa.bll;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine; ValueType: string; ValueName: DLLPATH; ValueData: {pf}\Common Files\Borland Shared\BDE;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine; ValueType: string; ValueName: CONFIGFILE01; ValueData: {pf}\Common Files\Borland Shared\BDE\IDAPI.CFG; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL; Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT;  Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: VERSION; ValueData: 4.0 ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: TYPE; ValueData: SERVER ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: DLL32; ValueData: SQLMSS32.DLL  ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: VENDOR INIT; ValueData:    ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: CONNECT TIMEOUT; ValueData: 30 ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: TIMEOUT; ValueData: 60   ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: DRIVER FLAGS; ValueData:  ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: TRACE MODE; ValueData: 0   ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: MAX DBPROCESSES; ValueData: 31  ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\INIT; ValueType: string; ValueName: DLL; ValueData: SQLD_SS.DLL ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN;   Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: DATABASE NAME; ValueData:    ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: SERVER NAME; ValueData: MSS_SERVER  ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: USER NAME; ValueData: MYNAME  ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: OPEN MODE; ValueData: READ/WRITE ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: SCHEMA CACHE SIZE; ValueData: 8 ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: BLOB EDIT LOGGING; ValueData: ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: LANGDRIVER; ValueData:    ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: SQLQRYMODE; ValueData:  ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: SQLPASSTHRU MODE; ValueData: SHARED AUTOCOMMIT ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: DATE MODE; ValueData: 0  ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: SCHEMA CACHE TIME; ValueData: -1   ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: MAX QUERY TIME; ValueData: 300   ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: MAX ROWS; ValueData: -1  ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: BATCH COUNT; ValueData: 200   ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: ENABLE SCHEMA CACHE; ValueData: FALSE  ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: SCHEMA CACHE DIR; ValueData: ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: HOST NAME; ValueData:       ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: APPLICATION NAME; ValueData: ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: NATIONAL LANG NAME; ValueData:  ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: ENABLE BCD; ValueData: FALSE   ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: TDS PACKET SIZE; ValueData: 4096  ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: BLOBS TO CACHE; ValueData: 64 ;Flags: uninsdeletekeyifempty
    Root: HKLM; Subkey: Software\Borland\Database Engine\Settings\DRIVERS\MSSQL\DB OPEN; ValueType: string; ValueName: BLOB SIZE; ValueData: 32   ;Flags: uninsdeletekeyifempty
      

  11.   

    ; 我的测试脚本
    ; 该脚本由 Inno Setup Script Wizard 创建。
    ; 有关创建 INNO SETUP 脚本的详情请查阅帮助文档![Setup]
    AppName=My Program
    AppVerName=My Program 1.5
    AppPublisher=My Company, Inc.
    AppPublisherURL=http://www.mycompany.com
    AppSupportURL=http://www.mycompany.com
    AppUpdatesURL=http://www.mycompany.com
    DefaultDirName={pf}\My Program
    DefaultGroupName=My Program[Tasks]
    ; 注意: 这下面程序自动生成的中文字符 "在桌面上创建图标" 和 "添加图标" 。如果有需要的话,你可以将其翻译为任意一种语言。
    Name: desktopicon; Description: 在桌面上创建图标(&D); GroupDescription: 添加图标:[Files]
    Source: D:\Program Files\Inno Setup 4 (汉化版)\Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion
    ; 注意:任何系统共享的文件都不能使用"Flags: ignoreversion"[Icons]
    Name: {group}\My Program; Filename: {app}\MyProg.exe
    Name: {userdesktop}\My Program; Filename: {app}\MyProg.exe; Tasks: desktopicon[Registry]
    Root: HKLM; Subkey: Software\MyProg; ValueType: string; ValueName: Test; ValueData: aaaa; Flags: uninsdeletekeyifempty[Run]
    ; 注意: 这下面程序自动生成的中文字符 "运行" 。如果有需要的话,你可以将其翻译为任意一种语言。
    Filename: {app}\MyProg.exe; Description: 运行 My Program; Flags: nowait postinstall skipifsilent
      

  12.   

    经过我的测试... 用uninsdeletekeyifempty标记 处理过的注册项...在值不为空时是不会删除这个注册项的.... 你再好好找找问题的所在吧,只要有值肯定是不会删除的
      

  13.   

    还有要说的是:如果用 Flags: createvalueifdoesntexist 生成的注册项在我这里卸载时也不会删除