В каком смысле не требующий инстала? Может я чего то не допонял или чего то понял не так...но тебе ничего не мешает закинуть в корень диска кроме твоего екзешника еще и ОСХ и библиотеки которые он использует, и все будет работать, правда елси они не требую регистрации. Обьсяни подробно чего тебе надоMoondev писал(а):Как скомпилировать EXE-ник не требующий инсталяции?
Я так понимаю, что должен быть какой-то софт, который все библиотеки включит в этот exe-шник?
По крайней мере в VB6 я ничего такого не нашел.
Если кто знает - помогите плиз.
НАдо для того, чтобы пользователь вставил СD в дисковод и сразу заупстилась программа.
Спасибо!
Moondev писал(а):надо чтобы все OCX библиотеки и т.д. он не требовал. А что, если они в том же каталоге он САМ их найдет???
Moondev писал(а):надо чтобы все OCX библиотеки и т.д. он не требовал. А что, если они в том же каталоге он САМ их найдет???
A.A.Z. писал(а):Насчет регистрации: Пуск->Выполнить->regsvr32 C:\Windows\System\Name.dll(ocx).
A.A.Z. писал(а):Насчет регистрации: Пуск->Выполнить->regsvr32 C:\Windows\System\Name.dll(ocx).
Serega.I писал(а):A.A.Z. писал(а):Насчет регистрации: Пуск->Выполнить->regsvr32 C:\Windows\System\Name.dll(ocx).
Легче всего маленькую прогу на C, которая все проверит и скопирует куда надо
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Function registerDll(dllname As String) As Boolean
Dim hLib As Long
Dim hProc As Long
hLib = LoadLibrary(dllname)
If hLib = 0 Then
registerDll = False
Exit Function
End If
hProc = GetProcAddress(hLib, "DllRegisterServer")
If hProc = 0 Then
FreeLibrary hLib
registerDll = False
Exit Function
End If
CallWindowProc hProc, 0, 0, 0, 0
FreeLibrary hLib
registerDll = True
End Function
Private Sub Form_Load()
Dim intFH As Integer
Dim strName As String
intFH = FreeFile
'Пердполагается что каталог не корневой!!!!
'OCX не перемещается в windows\system32!!!!
Open App.Path & "\SeregaI.txt" For Input As intFH
Do Until EOF(intFH)
Line Input #intFH, strName
If registerDll(App.Path & "\" & strName) = False Then MsgBox strName & " зарегистрировать неудалось"
Loop
Close #intFH
End Sub
Serega.I писал(а):К сожалению C не стоит, а на VB пожалуйста ...
Работает с любым к-вом OCX и никаких regsvr32 ненужно, все разработано и протестено мной
hProc = GetProcAddress(hLib, "DllRegisterServer")
hProc = GetProcAddress(hLib, "DllUnregisterServer")
Declare Function RegTestDLL Lib "Test.DLL" Alias _
"DllRegisterServer" () As Long
Serega.I писал(а):А дату и подделать можно...
FAKK2 писал(а):Вот народу неемется
Есть же отличный инсталлер Inno Installer, и ОСХы регистрирует замечательно, и вообще все со вкусом. Нет, я не агитирую, как подумали, некоторые несознательные личности, я показываю относительно простой путь решения проблемы с доставкой софта пользователю.
Сейчас этот форум просматривают: Google-бот, Majestic-12 [Bot], Yandex-бот и гости: 142