vraag over installatie path

Status
Niet open voor verdere reacties.

chrisje181

Gebruiker
Lid geworden
23 okt 2008
Berichten
106
Hey allemaal,

Ik heb een programma geschreven in visual basic 2010. en voor enkele aantallen (van materialen) heb ik een ini bestand gemaakt.
Nu gaat het in de testomgeving goed, daar staat ie in de start map van het programma (waar de exe zich ook bevind)
Alleen dan nu de vraag:

Waar installeert hij het programma heen, nadat ik het project gepublished heb en vervolgens op setup.exe heb geklikt...
Want in die map moet mijn .ini bestand ook geplaatst worden...
Of weet iemand hoe ik die .ini file kan integreren zodat hij hem automatisch mee installeerd...
 
Hoi,

Wat ik zelf altijd doe is bij het opstarten van het programma check of het ini-bestand al bestaat. Zo niet, dan maak ik het aan, zo wel, dan lees ik het ini-bestand uit en gebruik ik de informatie die erin staat. Als iemand dan bijvoorbeeld de standaard instellingen terug wil, kan diegene gewoon het ini-bestand verwijderen en zal het bij de volgende keer dat het programma opgestart wordt het bestand weer aangemaakt worden met de standaard instellingen.

Dan nog het probleem van het installatiepath:
Je kan het in dezelfde map zetten als het bestand, maar als iemand het programma dan in, bijvoorbeeld, de program files folder heeft staan, kan het zijn dat het programma als administrator uitgevoerd moet worden om naar het bestand te kunnen schrijven.
Als je dat toch wil, kan dat op de volgende manier:
[CPP] Dim FolderName As String = Application.StartupPath
Dim FileName As String = "Test.ini"
Dim FullName As String = IO.Path.Combine(FolderName, FileName)[/CPP]

Er is in Windows alleen ook een plaats die gemaakt is voor dit soort bestanden. Daarvan zijn er eigenlijk 2:
  1. Voor alle gebruikers,
  2. Voor alleen de gebruiker die op dat moment ingelogd is en het programma uitvoert.

Voor alle gebruikers vervang je de eerste lijn van de voorgaande code met dit:
[CPP]Dim FolderName As String = My.Computer.FileSystem.SpecialDirectories.AllUsersApplicationData[/CPP]
En voor alleen de huidige gebruiker met dit:
[CPP]Dim FolderName As String = My.Computer.FileSystem.SpecialDirectories.CurrentUserApplicationData[/CPP]

Ik hoop dat daarmee je vraag helemaal beantwoord is.

MartinJM
 
Nou eigenlijk niet. want het programma installeert het .ini bestandje niet mee. En om die code te laten genereren is ook niet handig denk ik.
IS er niet ergens een optie in de properties waar ik aan kan geven welke losse bestandjes hij mee moet publishen...
 
Hoi,

Ik weet niet of dat kan met de publisher van visual basic.

Wat je kan proberen is om het bestand toe te voegen aan het project in de solution explorer, en dan bij de "Copy to Output directory"-setting voor "Copy alway's" of "Copy if newer" kiezen. Misschien werkt dat dan ook met de setup. Maar ik weet het niet zeker.

Anders kan je een ander programma gebruiken om de setup mee te maken. Ik heb vroeger wel eens Inno Setup gebruikt. Tegenwoordig laat ik de exe alles regelen. Dat kan alleen vervelend zijn bij het uninstallen, aangezien er dan meestal op meerdere plaatsen bestanden komen te staan...

MartinJM
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan