Ветеран
Сообщения: 863
Благодарности: 262
|
Профиль
|
Отправить PM
| Цитировать
Помогите объединить:
читать дальше »
У меня в скрипте уже используется BeforeInstall: ChangeLabel('reg');, BeforeInstall: ChangeLabel('files'); и так далее...
надо объеденить это
Код: 
[Registry]
; .ext1
Root: HKCR; Subkey: .ext1; ValueType: string; ValueName: ; ValueData: MyProgramFile1; Flags: uninsdeletevalue; Tasks: MostVideo\DiracVideo; BeforeInstall: BackupData('ext1')
Root: HKCR; Subkey: MyProgramFile1; ValueType: string; ValueName: ; ValueData: "My Program File ¹1"; Flags: uninsdeletekey; Tasks: MostVideo\DiracVideo
Root: HKCR; Subkey: MyProgramFile1\DefaultIcon; ValueType: string; ValueName: ; ValueData: {sys}\notepad.exe,0; Tasks: MostVideo\DiracVideo
Root: HKCR; Subkey: MyProgramFile1\shell\open\command; ValueType: string; ValueName: ; ValueData: """{sys}\notepad.exe"" ""%1"""; Tasks: MostVideo\DiracVideo
; .ext2
Root: HKCR; Subkey: .ext2; ValueType: string; ValueName: ; ValueData: MyProgramFile2; Flags: uninsdeletevalue; Tasks: MostVideo\AviVideo; BeforeInstall: BackupData('ext2')
Root: HKCR; Subkey: MyProgramFile2; ValueType: string; ValueName: ; ValueData: "My Program File ¹2"; Flags: uninsdeletekey; Tasks: MostVideo\AviVideo
Root: HKCR; Subkey: MyProgramFile2\DefaultIcon; ValueType: string; ValueName: ; ValueData: {sys}\notepad.exe,0; Tasks: MostVideo\AviVideo
Root: HKCR; Subkey: MyProgramFile2\shell\open\command; ValueType: string; ValueName: ; ValueData: """{sys}\notepad.exe"" ""%1"""; Tasks: MostVideo\AviVideo
; .ext3
Root: HKCR; Subkey: .ext3; ValueType: string; ValueName: ; ValueData: MyProgramFile3; Flags: uninsdeletevalue; Tasks: MostVideo\MP4Video; BeforeInstall: BackupData('ext3')
Root: HKCR; Subkey: MyProgramFile3; ValueType: string; ValueName: ; ValueData: "My Program File ¹3"; Flags: uninsdeletekey; Tasks: MostVideo\MP4Video
Root: HKCR; Subkey: MyProgramFile3\DefaultIcon; ValueType: string; ValueName: ; ValueData: {sys}\notepad.exe,0; Tasks: MostVideo\MP4Video
Root: HKCR; Subkey: MyProgramFile3\shell\open\command; ValueType: string; ValueName: ; ValueData: """{sys}\notepad.exe"" ""%1"""; Tasks: MostVideo\MP4Video
[ Code]
procedure BackupData(FileExt: String);
var
OldValueData: string;
begin
if RegKeyExists(HKCR, '.' + FileExt) then
begin
RegQueryStringValue(HKCR, '.' + FileExt, '', OldValueData);
RegWriteStringValue(HKCR, '.' + FileExt + '(backup)', '', OldValueData);
end;
end;
procedure RestoreData(FileExt: String);
var
OldValueData: string;
begin
if RegKeyExists(HKCR, '.' + FileExt + '(backup)') then
begin
RegQueryStringValue(HKCR, '.' + FileExt + '(backup)', '', OldValueData);
RegWriteStringValue(HKCR, '.' + FileExt, '', OldValueData);
RegDeleteKeyIncludingSubkeys(HKCR, '.' + FileExt + '(backup)');
end;
end;
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usPostUninstall then
begin
RestoreData('ext1');
RestoreData('ext2');
RestoreData('ext3');
end;
end;
с этим
Код: 
[Registry]
;video
Root: HKCU; SubKey: Software\Classes\WindowsPlayer.Video; ValueType: string; ValueData: WindowsPlayer.Video.File; BeforeInstall: ChangeLabel('reg'); Check: VideoCheck; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKCU; SubKey: Software\Classes\WindowsPlayer.Video; ValueType: string; ValueName: Registered; ValueData: 3gp|asf|avchd|avi|avs|bink|cavsvideo|divx|dv|flv|hdv|matroska|m1v|m2v|m2ts|m4v|mkv|mod|mov|mp4|mpg|mpeg|mpegts|mpeg-ts|mts|rm|str|ts|tp|vcr|vob|wmv|webm|xmv; BeforeInstall: ChangeLabel('reg'); Check: VideoCheck; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKCU; SubKey: Software\Classes\WindowsPlayer.Video; ValueType: dword; ValueName: Fill; ValueData: $00000000; BeforeInstall: ChangeLabel('reg'); Check: VideoCheck; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKCU; SubKey: Software\Classes\WindowsPlayer.Video; ValueType: dword; ValueName: HQ; ValueData: $00000000; BeforeInstall: ChangeLabel('reg'); Check: VideoCheck; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKCU; SubKey: Software\Classes\WindowsPlayer.Video; ValueType: dword; ValueName: LastX; ValueData: $000000d4; BeforeInstall: ChangeLabel('reg'); Check: VideoCheck; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKCU; SubKey: Software\Classes\WindowsPlayer.Video; ValueType: dword; ValueName: LastY; ValueData: $0000008c; BeforeInstall: ChangeLabel('reg'); Check: VideoCheck; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKCU; SubKey: Software\Classes\WindowsPlayer.Video; ValueType: dword; ValueName: AutoCheckUpdate; ValueData: $00000000; BeforeInstall: ChangeLabel('reg'); Check: VideoCheck; Flags: uninsdeletevalue uninsdeletekeyifempty
[ code]
procedure ChangeLabel(param:string);
begin
case param of
'files': NewStatusLabel.Caption:='Копирование файлов...';
'reg': NewStatusLabel.Caption:='Создание записи в реестре...';
'portable1': NewStatusLabel.Caption:='Распаковка файлов...';
'icon': NewStatusLabel.Caption:='Создание ярлыков...';
end;
end;
Как совместить BeforeInstall: BackupData('ext1') и BeforeInstall: ChangeLabel('reg');? Было бы здорово если б они были раздельно, потому что мой BeforeInstall используется в каждой сточке секции [Registry], а резерв создается целого ключа (тоисть одна сточка). Хотелось бы чтобы работал и ChangeLabel и BackupData.
|
-------
Inno Setup 5 Ultra Unicode
Отправлено: 01:06, 13-05-2014
| #618
|