Avatar billede engberg Juniormester
16. august 2000 - 13:00 Der er 12 kommentarer og
1 løsning

Første gang installer - anden gang kør fra HD

Jeg skal distribuere et program via CD-rom. Jeg vil gerne gøre således at første gang (eller når programmet ikke er installeret) så køres installationsprogrammet (\\setup\\setup.exe).

Men hvis programmet allerede er på harddisken, så skal det køre derfra.

Hvad er den letteste løsning på det problem? Skal jeg til at skrive i registreringsdb\'en (der skrives intet nu)?
Jeg kan ikke bare kigge om nogle filer eksisterer, da brugeren selv vælger hvor de skal installeres....
Avatar billede sjensen Nybegynder
16. august 2000 - 13:10 #1
Hvis ellers installationsprogrammet overholder \"windows Logo\" specifikationerne vedr. installation/Uninstallation, bør du kunne se at dit proram er installeret i listen under Windows funktionen \"Tilføj/Fjern programmer\" i kontrol panelet.

Hvis dit program fremgår af denne liste ER der skrevet noget i registreringsdatabasen, og du kan så se efter dette når programmet (eller setup programmet) køres.

I almindelighed vil jeg anbefale at skrive i registry ved installationen (evt. med version/build informationer) og så lade setup-programmet se efter dette fodaftryk. På den måde kan du endda indbygge i setup at den skal installere programmet hvis det er en nyere version end den der allerede er installeret, hvis der allerede er en installation.
Avatar billede engberg Juniormester
16. august 2000 - 14:35 #2
Det var ligegodt s.... nå jamen du har selvfølgelig ret sjensen....

Nu må jeg så spørge.... hvordan kigger jeg efter i registreringsdb\'en og sender stafetten videre til setup/selve programmet??
Avatar billede sjensen Nybegynder
16. august 2000 - 15:06 #3
Er det dig selv der laver setup programmet også ?

Hvordan du læser/skriver i registry med VB er jeg ikke så godt inde i, men der findes helt afgjort funktioner til det i VB. Man læser/skriver i registry (næsten) på samme måde som man gør med INI-filer, så prøv at checke funktionerne i VB efter INI eller REG(istry). Jeg er desværre mest vant til VB som programmering af macroer under word. I denne skriver man f.eks:

minkeydata = GetSetting(appname:=\"Reg_hovedkey\", Section:=\"Reg-subkey\", Key:=\"Reg-keynavn\", Default:=\" \")
   
På den måde kan man læse indholdet af en key i registry fra en wordmacro, men du må kunne finde nogle bedre eksempler i VB eksempler.
Avatar billede engberg Juniormester
16. august 2000 - 15:40 #4
Nej jeg anvender VB\'s Application Setup Wizard.

Hmm...
Getsetting lader godtnok til også at virke i VB, men jeg kan ikke finde ud af hvad der bliver skrevet til regdb\'en...
Nøglenavnet er:
HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Opgave.exe

Men hvis jeg laver et tekstvindue og en knap og det her:
Private Sub Command1_Click()
    Dim MinSet As String
    MinSet = GetSetting(\"opgave.exe\", \"App Paths\", \"(Standard)\")
    Text1.Text = MinSet
End Sub

Så sker der ikke noget når jeg klikker på knappen - hvad er der galt?
Avatar billede sjensen Nybegynder
16. august 2000 - 15:50 #5
Prøv lige engagn at checke i VB hvordan du skal angive hvilken hovednøgle. Der er ikke nok med hhv. App Paths og opgave.exe fordi de kan eksistere et utal af steder i registry. Du skal også angive stien fra root (HKEY) ned til App Path.

I VB macroer kan man kun læse fra HKEY_CURRENT_USER\\Software\\Microsoft\\VBA og nøglen skal altså starte herfra, men det gælder ikke for VB uden for Word macroer.

I øvrige skal du bytte rundt på hhv. de 2 nøgler og jeg tror desuden du skal angive hele stien samtidig:

MinSet = GetSetting(\"HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\", \"opgave.exe\", \"(Standard)\")


Avatar billede engberg Juniormester
16. august 2000 - 16:01 #6
Nope den virker heller ikke... jeg kan godt både læse og skrive, hvis jeg gør således:
    SaveSetting \"OBHName\", \"OBHSection\", \"OBHKey\", \"OBHValue\"
    MinSet = GetSetting(\"OBHName\", \"OBHSection\", \"OBHKey\")
    Text1.Text = MinSet
Avatar billede sjensen Nybegynder
16. august 2000 - 16:05 #7
ja, men så har det også noget med at gøre at du skal kunne angive startnøglen et eller andet sted.

Prøv engagn at søge i registry efter det du har skrevet. Så kan du se under hvilken hovednøgle det bliver gemt. Jeg ville ikke blive forbavset om det ligger under: HKEY_CURRENT_USER\\Software\\Microsoft\\VBA
Avatar billede engberg Juniormester
16. august 2000 - 16:30 #8
Det ligger under (HKEY_USERS\\engberg\\Software\\VB and VBA Program Settings), også selv om jeg kompiler programmet og forsøger:
SaveSetting \"HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\", \"opgave.exe\", \"MonVirk\", \"JaDa\"

Så laver den bare en masse underbiblioteker under VB and VBA Program Settings, men installations nøglen ligger som sagt et andet sted - hvad faen gør man så????
Avatar billede sjensen Nybegynder
16. august 2000 - 16:44 #9
tja..

Det var noget af den samme frustration vi havde med VB macroerne, og vi fandt ikke ud af det den gang.

Det er bl.a en af årsagerne til at jeg bruger Delphi og ikke VB, men det hjælper dig jo desværre ikke.

Men.. det må jo for fa.. stå et eller andet sted i manualerne/hjælpen hvordan man kan arbejde rigtigt med registry. Du kan evt. prøve at søge på nogle af de VB sider der er rundt omkring på nettet og se om du kan finde noget andre har lavet der løser problemet. Det er ofte det jeg gør.

Jeg kan desværre ikke være meget mere behjælpelig med netop denne del.
Avatar billede engberg Juniormester
16. august 2000 - 17:07 #10
Tak for hjælpen.....
Avatar billede xafion Nybegynder
18. august 2000 - 04:27 #11
ehe...ehehe..e.hehehe... hvilken slags programmering laver I?

anyways..
jeg kan godt sende dig noget kode der kan give dig adgang overalt i registry..so..

KONTAKT MIG PÅ ICQ .....
så sender jeg dig den der..
:)
Avatar billede engberg Juniormester
19. august 2000 - 15:13 #12
Jeg kan desværre ikke anvende ICQ... Kunne du ikke evt. poste den her, eller på mailto:kasper@pox.dk
Avatar billede engberg Juniormester
19. august 2000 - 15:14 #13
Jeg prøver lige e-mail adressen igen...!
kasper@pox.dk
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester