Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   Импорт параметров реестра (*.reg) из коммандной строки для Windows XP-7 x86-x64 (http://forum.oszone.net/showthread.php?t=245353)

olmak 24-10-2012 09:56 2011167

Импорт параметров реестра (*.reg) из коммандной строки для Windows XP-7 x86-x64
 
Причина создания - не работает импорт reg-файлов(regedit /s) вызванная из коммандной строки 32-разрядного приложения в среде windows x64 (известная проблема)

Средство решения - програмка на autoit
Текст программы :
Код:

If $CMDLINE[0] <> 1 Then
    MsgBox(4096, "Внимание", "Неправильная коммандная строка . Надо reg_imp.exe file.reg", 5)
        ; Exit if  parameter were not used        Exit
  EndIf
  $RegFile = $CMDLINE[1]
 If Not FileExists($RegFile) Then
    MsgBox(4096, "Внимание", "Файл" & $RegFile & "не найден - выход без импорта reg", 5)
    Exit
  EndIf
      $tValue = DllStructCreate('dword')
 If @OSArch = 'X64' Then    DllCall('kernel32.dll', 'int', 'Wow64DisableWow64FsRedirection', 'ptr', DllStructGetPtr($tValue))
EndIf
 $CommandLine="REGEDIT /S " & $RegFile
 RunWait($CommandLine, "", @SW_HIDE)
  If @OSArch = 'X64' Then    DllCall('kernel32.dll', 'int', 'Wow64RevertWow64FsRedirection', 'ptr', DllStructGetPtr($tValue))
 EndIf

За корявость кода прошу не пинать , нет навыков постоянного программирования на autoit
Пример запуска: reg_imp.exe file.reg(Полное имя с путями)
Принцип работы :
1. На 64-разрядной системе отключаем перенаправление системных папок
2. Импортирует преданный через параметр коммандной строки рег-файл
3 На 64-разрядной системе включаем перенаправление системных папок
P.S. Особенно полезно для создания аддонов и тихих инсталляций с импортом рег-файлов

boss911 24-10-2012 16:18 2011387

Цитата:

Цитата olmak
reg_imp.exe file.reg(Полное имя с путями »

Было бы очень полезно, если бы понимало относительные пути и системные переменные.


Время: 01:07.

Время: 01:07.
© OSzone.net 2001-