Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Как засунуть все dll в exe Добавлено: 07.06.05 16:31  

Автор вопроса:  Diz | Web-сайт: www.TS-Group.fatal.ru
кто нить знает, как все файл засунуть в один exe, чтобы он в последствии запускался на всех компах?
У меня есть прога vb-powerwrap которая нечто подобное делает, но она глючная и не зарегестрированная, кто нить может поделиться ссылочками на аналогичные проги?

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #1 Добавлено: 07.06.05 16:37
Fusion

Ответить

Номер ответа: 2
Автор ответа:
 ViktorZ



ICQ: 271202919 

Вопросов: 56
Ответов: 837
 Профиль | | #2 Добавлено: 07.06.05 16:41
а вес программы тебя не страшит?

Ответить

Номер ответа: 3
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #3 Добавлено: 07.06.05 18:20
А какая разница? С дллками весит также.
Да Fusion к томуже сжимает всё это дело неплохо.

Ответить

Номер ответа: 4
Автор ответа:
 enix



Вопросов: 7
Ответов: 18
 Профиль | | #4 Добавлено: 07.06.05 19:04

А сылочку киньте ктот плз !!!!!111

Ответить

Номер ответа: 5
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #5 Добавлено: 07.06.05 19:41
http://www.bitarts.com/download.htm - 299$
осталось кряк найти..

Ответить

Номер ответа: 6
Автор ответа:
 Shark



ICQ: 284036855 

Вопросов: 35
Ответов: 155
 Web-сайт: www.ma26.ru
 Профиль | | #6
Добавлено: 07.06.05 23:41
Лучше сделать установку каким нибудь инсталятором. Будет проше вносить изменения. А на файлы с упакованными dll иногда ругаются антивирусы.

Ответить

Номер ответа: 7
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #7
Добавлено: 08.06.05 01:38
Да один мех по моему будет... я кидал просто все рантайм либы в апп.патх и всё работало... а вот с OCX чёрт знает чё будет :-/

Ответить

Номер ответа: 8
Автор ответа:
 RomaVis



ICQ: 266287351 

Вопросов: 31
Ответов: 147
 Профиль | | #8 Добавлено: 08.06.05 10:56

знаеш ли, правду говорят - сделай установочку какой нить прогой(я пользуюсь Setup Factory 6, кряк могу дать! и прогу тож (весит 11МБ)) и красиво и популярно, и морочится ненадо. Вес правда немного большой, но оно того стоит!

Насчет проги инсталмэйкера - рекомендую Setup Factory 6.0 !!!! ЛУЧШИЙ ИНСТАЛМЭЙКЕР. Только всо на аглийском, но меня это не пугает - простая прога, если хоть чото смыслиш.

Ответить

Номер ответа: 9
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #9 Добавлено: 08.06.05 11:25
InnoSetup

Ответить

Номер ответа: 10
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #10
Добавлено: 08.06.05 16:44
CreateInstall :) а чё, классная вещь

Ответить

Номер ответа: 11
Автор ответа:
 mr_Frank



ICQ: 316417 

Вопросов: 36
Ответов: 94
 Web-сайт: subaru.nv-avto.ru
 Профиль | | #11
Добавлено: 08.06.05 19:12
Вот тебе класс написанный моим другом, если разберёшся как им пользоватся тогдда пользуйся

Private Type ssSetType
    ssSet As String
    ssValue As String
End Type
Enum ssERRORs
    ssNone = 0
    ssUnknown = 1
    ssSetNameIncorrect = 11
    ssValueNameIncorrect = 12
    ssSetExists = 21
    ssResourceNotFound = 51
    ssFileNotContainSettings = 61
    ssPathNotFound = 71
    ssFileNotFound = 72
End Enum
Private sINIFName As String
Private Const sUpdFName As String = "~UpdP.exe"
Private vSetVar() As ssSetType
Private nSetCount As Long
Private bWithRegister As Boolean
Private vData() As Byte
Private vDat As String
Private vINIData As String

Private Sub Class_Initialize()
    ReDim vSetVar(0) As ssSetType
    bWithRegister = False
    sINIFName = "~SSSet.dat"
End Sub

Private Function GetAppPath() As String
    If Right(App.Path, 1) = "\" Then
        GetAppPath = App.Path
    Else
        GetAppPath = App.Path & "\"
    End If
End Function

Public Function CreateSet(sSetting As String, Optional ReplaceSet As Boolean = False) As Boolean
    If UBound(vSetVar) = 0 Then SaveInList sSetting, "", 1: CreateSet = True: Exit Function
    If bWithRegister = True Then
        For i = 1 To UBound(vSetVar)
            If vSetVar(i).ssSet = sSetting Then
                If ReplaceSet = True Then vSetVar(i).ssValue = "": CreateSet = True
                Exit Function
            End If
        Next i
        For i = 1 To UBound(vSetVar)
            If Trim$(vSetVar(i).ssSet) = "" Then
                vSetVar(i).ssSet = sSetting: vSetVar(i).ssValue = "": CreateSet = True
                Exit Function
            End If
        Next i
    Else
        For i = 1 To UBound(vSetVar)
            If LCase(vSetVar(i).ssSet) = LCase(sSetting) Then
                If ReplaceSet = True Then vSetVar(i).ssValue = "": CreateSet = True
                Exit Function
            End If
        Next i
        For i = 1 To UBound(vSetVar)
            If Trim$(vSetVar(i).ssSet) = "" Then
                vSetVar(i).ssSet = sSetting: vSetVar(i).ssValue = "": CreateSet = True
                Exit Function
            End If
        Next i
    End If
    SaveInList sSetting, "", UBound(vSetVar) + 1: CreateSet = True
End Function

Public Function DelSet(sSetting As String) As Boolean
    If UBound(vSetVar) = 0 Then Exit Function
    If bWithRegister = True Then
        For i = 1 To UBound(vSetVar)
            If vSetVar(i).ssSet = sSetting Then vSetVar(i).ssSet = "": vSetVar(i).ssValue = "": DelSet = True: Exit Function
        Next i
    Else
        For i = 1 To UBound(vSetVar)
            If LCase(vSetVar(i).ssSet) = LCase(sSetting) Then vSetVar(i).ssSet = "": vSetVar(i).ssValue = "": DelSet = True: Exit Function
        Next i
    End If
End Function

Public Function DoGetSet(Optional sFile As String = "ME";) As ssERRORs
    On Error GoTo errr
    Dim sFormat As eCodingFormat, Start As Long
    ff = FreeFile
    sFile = Trim$(sFile)
    Open IIf(UCase(sFile) = "ME", GetAppPath & App.EXEName & ".exe", sFile) For Binary Access Read As ff
    vDat$ = Input(LOF(ff), ff)
    Close ff
    Start = InStr(1, vDat$, "!|/:#*/&%@'`~($)~`'@%&\*#:\|!", vbTextCompare)
    
    If Start < 1 Then DoGetSet = ssFileNotContainSettings: Exit Function
    Start = Start + Len("!|/:#*/&%@'`~($)~`'@%&\*#:\|!";)
    Start = InStr(Start, vDat$, "|", vbTextCompare) + 1
    sFormat = CLng(Mid(vDat, Start, InStr(Start, vDat$, "|", vbTextCompare) - Start))
    Start = InStr(Start, vDat$, "|", vbTextCompare) + 1
    vINIData = Mid(vDat, Start)
    If Not sFormat = cNone Then vINIData = DecodingString(vINIData, sFormat)
    vINIData = Replace(vINIData, Chr(5), vbCrLf)
    Open GetAppPath & sINIFName For Output As ff: Close ff
    Open GetAppPath & sINIFName For Binary As ff
    Put ff, , vINIData
    Close ff
    nSetCount = CLng(sGetINI(GetAppPath & sINIFName, "Sets", "SC", "?";))
    If nSetCount < 1 Then DoGetSet = ssFileNotContainSettings: Exit Function
    ReDim vSetVar(0) As ssSetType
    For i = 1 To nSetCount
        ReDim Preserve vSetVar(i) As ssSetType
        vSetVar(i).ssSet = sGetINI(GetAppPath & sINIFName, "Sets", "S" & CStr(i) & "N", "?";)
        vSetVar(i).ssValue = sGetINI(GetAppPath & sINIFName, "Sets", "S" & CStr(i) & "V", "?";)
    Next i
    Kill GetAppPath & sINIFName
    Exit Function
    
errr:
    If Err.Number = 53 Then DoGetSet = ssFileNotFound: Exit Function
    
    ;DoGetSet = ssUnknown
End Function

Public Function GetSet(sSetting As String, Optional sDefault As String = "";) As String
    'On Error GoTo 9
    GetSet = sDefault
    If Trim$(sSetting) = "" Then Exit Function
    If UBound(vSetVar) = 0 Then Exit Function
    If bWithRegister = True Then
        For i = 1 To UBound(vSetVar)
            If vSetVar(i).ssSet = sSetting Then GetSet = vSetVar(i).ssValue: Exit Function
        Next i
    Else
        For i = 1 To UBound(vSetVar)
            If LCase(vSetVar(i).ssSet) = LCase(sSetting) Then GetSet = vSetVar(i).ssValue: Exit Function
        Next i
    End If
9 End Function

Public Function GetSetCount() As Long
    GetSetCount = UBound(vSetVar)
End Function

Public Function DoSaveSet(Optional tEncryptFormat As eCodingFormat = cNone, Optional ExecuteMeAgain As Boolean = False, Optional sCommandLine As String = "", Optional sFile As String = "ME", Optional nID As Long = 1, Optional sType As String = "SUpdFileExe";) As ssERRORs
    On Error GoTo errr
    
    fd = FreeFile
    sFile = Trim$(sFile)
    Open GetAppPath & sINIFName For Output As fd: Close fd
    If UCase(sFile) = "ME" Then
        writeINI GetAppPath & sINIFName, "General", "FN", App.EXEName & ".exe"
        writeINI GetAppPath & sINIFName, "General", "EA", CStr(CLng(ExecuteMeAgain))
        writeINI GetAppPath & sINIFName, "General", "FF", CStr(tEncryptFormat)
    End If
    writeINI GetAppPath & sINIFName, IIf(UCase(sFile) = "ME", "General", "Sets";), "SC", CStr(UBound(vSetVar))
    If UCase(sFile) = "ME" Then If Not Trim$(sCommandLine) = "" Then writeINI GetAppPath & sINIFName, "General", "CL", Trim$(sCommandLine)
    If UBound(vSetVar) < 1 Then GoTo 1
    For i = 1 To UBound(vSetVar)
        writeINI GetAppPath & sINIFName, "Sets", "S" & CStr(i) & "N", vSetVar(i).ssSet
        writeINI GetAppPath & sINIFName, "Sets", "S" & CStr(i) & "V", vSetVar(i).ssValue
    Next i
1   If UCase(sFile) = "ME" Then
        vData = LoadResData(nID, sType)
        Open GetAppPath & sUpdFName For Output As fd: Close fd
        Open GetAppPath & sUpdFName For Binary As fd
        Put fd, , vData
        Close fd
        Shell GetAppPath & sUpdFName, vbHide
        End
        Exit Function
    End If
    Open GetAppPath & sINIFName For Binary Access Read As fd
    vDat$ = Input(LOF(fd), fd)
    Close fd
    Kill GetAppPath & sINIFName
    vDat = Replace(vDat, vbCrLf, Chr$(5))
    If Not tEncryptFormat = cNone Then vDat$ = CodingString(vDat, tEncryptFormat)
    Open sFile For Output As fd: Close fd
    Open sFile For Binary Access Write As fd
    Put fd, , "!|/:#*/&%@'`~($)~`'@%&\*#:\|!"
    Put fd, , "|" & CStr(tEncryptFormat) & "|"
    Put fd, , vDat
    Close fd
    
errr:
    If Err.Number = 326 Then DoSaveSet = ssResourceNotFound: Exit Function
    If Err.Number = 76 Then DoSaveSet = ssPathNotFound: Exit Function
    
    ;DoSaveSet = ssUnknown
End Function

Public Function SaveSet(sSetting As String, sValue As String, Optional ReplaceSet As Boolean = False, Optional SaveNow As Boolean = False) As ssERRORs
    On Error GoTo errr
    If Trim$(sSetting) = "" Then SaveSet = ssSetNameIncorrect: Exit Function
    If Trim$(sValue) = "" Then SaveSet = ssValueNameIncorrect: Exit Function
    If UBound(vSetVar) = 0 Then SaveInList sSetting, sValue, 1: GoTo 999
    If bWithRegister = True Then
        For i% = 1 To UBound(vSetVar)
            If vSetVar(i%).ssSet = sSetting Then If ReplaceSet = True Then SaveInList sSetting, sValue, i%, False: GoTo 999 Else SaveSet = ssSetExists: Exit Function
        Next i%
    Else
        For i% = 1 To UBound(vSetVar)
            If LCase(vSetVar(i%).ssSet) = LCase(sSetting) Then If ReplaceSet = True Then SaveInList sSetting, sValue, i%, False: GoTo 999 Else SaveSet = ssSetExists: Exit Function
        Next i%
    End If
    SaveInList sSetting, sValue, UBound(vSetVar) + 1: GoTo 999
    
    Exit Function
    
999 If SaveNow = True Then DoSaveSet
    
    Exit Function
    
errr:
    SaveSet = ssUnknown
    
End Function

Private Sub SaveInList(sSetting As String, sValue As String, nIndex As Integer, Optional bReDim As Boolean = True)
    If bReDim = True Then ReDim Preserve vSetVar(nIndex) As ssSetType
    vSetVar(nIndex).ssSet = sSetting
    vSetVar(nIndex).ssValue = sValue
End Sub

Public Function GetSetByIndex(nIndex As Long) As String
    If nIndex < 1 Then Exit Function
    GetSetByIndex = vSetVar(nIndex).ssSet
End Function

Public Function ClearSetList(Optional SetWithRegister As Boolean = False)
    ReDim vSetVar(0) As ssSetType
    bWithRegister = SetWithRegister
End Function

Private Sub Class_Terminate()
    ClearSetList
End Sub

Ответить

Номер ответа: 12
Автор ответа:
 mr_Frank



ICQ: 316417 

Вопросов: 36
Ответов: 94
 Web-сайт: subaru.nv-avto.ru
 Профиль | | #12
Добавлено: 08.06.05 19:14
правда предётся этот код немного переделать, но суть такая же

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам