Just nu i M3-nätverket
Jump to content

Inkludera MSCOMCTL.OCX osv..


Jonas N. H-vall

Recommended Posts

Jonas N. H-vall

Kan någon hjälpa mig med hur jag infogat VB6 runtimebiblioteket på ett program gjort i VB6? Programmet är avsett att ligga på en cd-skivas runtime, alltså inget som ska installeras.

 

B.la. filerna MSCOMCTL.OCX och MSVBVM60.DLL behövs för att köra vissa grejer på en CD-Skiva. Det är alldeles för många datorer som inte har dessa filer installerade sedan tidigare.. :-/

 

Mvh

/Jonas

 

Link to comment
Share on other sites

  • 2 weeks later...
Jonas N. H-vall

Jag besvarar mig själv på denna fråga! Den har också varit ute tidigare, men även då obesvad! Det verkar ovanligt att man vill köra applikationer som inte skall installeras.

 

Lösningen går ut på att lura fram ett felmeddelande om filerna inte finns installerade på någon av Windows tre vanligaste installationsmappar. Finns inte filen kopieras de, annars hoppas if-satsen (och kopieringen) över. Finns inte mappen över huvudtaget utförs if-satsen men ignorerat felmeddelande, eftersom FileCopy inte skapar mappar. Variabeln strDrive innehåller enhetsbeteckningen som Windows finns installerat på.

 

Jag tycker dock metoden bör tolkas som ett oönskat ingrepp på användarens lagringsplats, och att flexibiliteten ligger under nivån för godkänt, men just nu är det min enda befintliga lösning. De nödvändiga filerna bränns med på skivan, därifrån de hämtas vid kopiering.

Kanske det går att få programmet att leta filerna på skivan?

 

    
[color="#0000ff"]Dim[/color] strFileInfo As [color="#0000ff"]String[/color]
    [color="#0000ff"]On Error Resume[/color] [color="#0000ff"]Next[/color]

    [color="#006400"]'msvbvm60.dll kopieras[/color]
    [color="#0000ff"]If[/color] (strFileInfo = FileDateTime(strDrive & [GRÅ]"\Windows\System32\msvbvm60.dll"[/GRÅ])) = [GRÅ]""[/GRÅ] Or (Err.Number = 76) [color="#0000ff"]Then[/color]
        FileCopy App.Path & [GRÅ]"\msvbvm60.dll"[/GRÅ], strDrive & [GRÅ]"\Windows\System32\msvbvm60.dll"[/GRÅ]
        Resume
    [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

    [color="#0000ff"]If[/color] (strFileInfo = FileDateTime(strDrive & [GRÅ]"\Windows\System\msvbvm60.dll"[/GRÅ])) = [GRÅ]""[/GRÅ] Or (Err.Number = 76) [color="#0000ff"]Then[/color]
        FileCopy App.Path & [GRÅ]"\msvbvm60.dll"[/GRÅ], strDrive & [GRÅ]"\Windows\System\msvbvm60.dll"[/GRÅ]
        Resume
    [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

    [color="#0000ff"]If[/color] (strFileInfo = FileDateTime(strDrive & [GRÅ]"\Winnt\System32\msvbvm60.dll"[/GRÅ])) = [GRÅ]""[/GRÅ] Or (Err.Number = 76) [color="#0000ff"]Then[/color]
        FileCopy App.Path & [GRÅ]"\msvbvm60.dll"[/GRÅ], strDrive & [GRÅ]"\Winnt\System32\msvbvm60.dll"[/GRÅ]
        Resume
    [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

    [color="#006400"]'mscomctl.ocx kopieras[/color]
    [color="#0000ff"]If[/color] (strFileInfo = FileDateTime(strDrive & [GRÅ]"\Windows\System32\mscomctl.ocx"[/GRÅ])) = [GRÅ]""[/GRÅ] Or (Err.Number = 76) [color="#0000ff"]Then[/color]
        FileCopy App.Path & [GRÅ]"\mscomctl.ocx"[/GRÅ], strDrive & [GRÅ]"\Windows\System32\mscomctl.ocx"[/GRÅ]
        Resume
    [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

    [color="#0000ff"]If[/color] (strFileInfo = FileDateTime(strDrive & [GRÅ]"\Windows\System\mscomctl.ocx"[/GRÅ])) = [GRÅ]""[/GRÅ] Or (Err.Number = 76) [color="#0000ff"]Then[/color]
        FileCopy App.Path & [GRÅ]"\mscomctl.ocx"[/GRÅ], strDrive & [GRÅ]"\Windows\System\mscomctl.ocx"[/GRÅ]
        Resume
    [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

    [color="#0000ff"]If[/color] (strFileInfo = FileDateTime(strDrive & [GRÅ]"\Winnt\System32\mscomctl.ocx"[/GRÅ])) = [GRÅ]""[/GRÅ] Or (Err.Number = 76) [color="#0000ff"]Then[/color]
        FileCopy App.Path & [GRÅ]"\mscomctl.ocx"[/GRÅ], strDrive & [GRÅ]"\Winnt\System32\mscomctl.ocx"[/GRÅ]
        Resume
    [color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...