Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291

    VB6 e Rete.

    Dovrei installare un prog. scritto con VB6 su un computer che fa parte di una rete. Il progr. deve essere installato solo sull'HD locale del computer (C:\); allo scopo vorrei sapere se devo implementare del codice, o se viceversa l'installazione del prog. avviene, per così dire, normalmente, quindi senza accorgimenti.
    Grazie per la collaborazione.
    LM

  2. #2
    beh se vuoi bloccare la possibilità di installare il programma su un disco in rete o su un percorso di rete devi sistemare l'installer e modificare il programma in modo che riconosca il tipo di drive sul quale gira e comportarsi di conseguenza

  3. #3
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    daniele_dll, grazie per la risposta.
    Potresti essere più chiaro, dato che di problematiche di rete sono quasi a digiuno.
    LM

  4. #4
    tu hai chiesto cosa devi fare per "impedire" l'installazione di questo software su tutto ciò che non è un'harddisk, giusto?

    allora per fare questo devi:
    1- modificare l'installer per fargli controllare che l'unità d'installazione sia un disco fisso ... non credo che si possa fare con l'installer di default del vb6, comunque dai un'occhiata a inno-setup che è un installer scritto in delphi estremamente versatile e flessibile e scriptabile che ti permette di fare anche questo

    2- modificare il software per fargli leggere il tipo di unità sulla quale è installato e quindi non funzionare se non trova riscontri positivi, ovvero se non è su un disco fisso

    l'api che t'interessa è
    GetDriveType

    come parametri in entrata vuole la path del disco, ad esempio:
    C:
    D:
    E:

    il valore di ritorno è un'intero che può corrispondere a questo
    codice:
    #define DRIVE_UNKNOWN       0
    #define DRIVE_NO_ROOT_DIR   1
    #define DRIVE_REMOVABLE     2
    #define DRIVE_FIXED         3
    #define DRIVE_REMOTE        4
    #define DRIVE_CDROM         5
    #define DRIVE_RAMDISK       6
    ovvero a uno dei numeri. Come puoi vedere a te interessa che il valore che viene ritornato corrisponda a DRIVE_FIXED, ovvero a 3

    di conseguenza sia nell'installer sia nel tuo programma estrai i primi due caratteri dalla stringa del percorso, li passi a questa api, leggi il valore di ritorno e lo confronti con il valore che ti interessa ... e se il riscontro è positivo tutto ok ^^

    per quanto riguarda il tuo software nel modulo/form d'avvio dicihari questa funzione esterna
    Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal DrivePath As String) As Long

    e questa costante
    Const DRIVE_CDROM = 5

    acquisisci la path di esecuzione (se non sia farlo guarda su google o sul forum che non ricordo come si fa, forse sta dentro l'oggetto Application) e passi i primi due caratteri e verifichi il valore ritornato

    ... per quanto riguarda inno-setup
    http://www.paranoia.clara.net/pascal...issue0050.html
    http://forge.novell.com/pipermail/nt...-September.txt

    comunque cerca su google
    innosetup GetDriveType

    e vedi un po che trovi

    ciauuu

  5. #5
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Grazie Daniele,
    con il tuo indirizzo approfondirò la problematica.
    LM

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.