|
|
|
| допустим мы это всё написали в коде
If Len(Dir("c:\WINDOWS\DjVuCntl.dll")) = 0 Then
FileCopy d, "c:\WINDOWS\DjVuCntl.dll"
'Shell "Regsvr32.exe /s c:\WINDOWS\DjVuCntl.dll"
Else
|
А при добавлении новой ocx в проект - опять код дописывать
подскажите где хранить список этих библиотек и сами библиотеки, что ба как то автоматизировать.
Например проверить папку на наличие в ней файлов и их имена......
или как? | |
|
| |
|
|
|
| Пока делаю так:
Public Function FUN_Patch_Windows_System32()
'Определение пути и директории Windows_System32
GLB_Patch_Windows_System32 = Space(30)
If GLB_Proverka = True Then Call FUN_IN_TXT(App.Path & "\Process_Log.txt", "винда в " & Left(GLB_Patch_Windows_System32, GetWindowsDirectory(GLB_Patch_Windows_System32, 30)))
GLB_Patch_Windows_System32 = Left(GLB_Patch_Windows_System32, GetWindowsDirectory(GLB_Patch_Windows_System32, 30)) & "\system32\"
'проверка наличия библиотеки и регистрация библиотек
Call FUN_REGISTRATION_DLL_OCX("COMCTL32.OCX")
Call FUN_REGISTRATION_DLL_OCX("MSADODC.OCX")
End Function
Public Function FUN_REGISTRATION_DLL_OCX(STR_DLL As String)
' регистрация библиотек
If GLB_Proverka = True Then Call FUN_IN_TXT(App.Path & "\Process_Log.txt", Date & " _модуль " & "START_MOD" & " _процедура " & "FUN_REGISTRATION_DLL_OCX")
'---------------------------------------------------------------------------
On Error GoTo FUN_REGISTRATION_DLL_OCX_Error
'---------------------------------------------------------------------------
If FUN_FILE_YES_NO(FUN_Patch_File(GLB_Patch_Windows_System32, STR_DLL)) = False Then
MsgBox GLB_Patch_Windows_System32
MsgBox FUN_Patch_File(App.Path & "Komponent\", STR_DLL)
Call FileCopy(FUN_Patch_File(App.Path & "Komponent\", STR_DLL), GLB_Patch_Windows_System32)
Shell "RegSVR32.exe /s FUN_Patch_File(GLB_Patch_Windows_System32 , STR_DLL) "
If GLB_Proverka = True Then Call FUN_IN_TXT(App.Path & "\Process_Log.txt", Date & " _модуль " & "START_MOD" & " _процедура " & "FUN_REGISTRATION_DLL_OCX регистрация " & STR_DLL)
Else
If GLB_Proverka = True Then Call FUN_IN_TXT(App.Path & "\Process_Log.txt", Date & " _модуль " & "START_MOD" & " _процедура " & "FUN_REGISTRATION_DLL_OCX регистрация " & STR_DLL & " не требуется ")
End If
'---------------------------------------------------------------------------
On Error GoTo 0
Exit Function
FUN_REGISTRATION_DLL_OCX_Error:
Call FUN_IN_TXT(App.Path & "\Error.txt", Now() & " _модуль " & "START_MOD" & " _процедура " & "FUN_REGISTRATION_DLL_OCX" & " ..ошибка." & Err.Description)
End Function
|
| |
|
| |