Avatar billede cool-wil Nybegynder
27. april 2002 - 15:26 Der er 11 kommentarer og
2 løsninger

ini files?

Jeg har et stort problem med setup af mit nyeste program:
Jeg vil gerne have inno setup 2.0 til at ligge myini.ini (min) ned i min program mappe, når den alligevel installere alle de andre ting som skal der ned..

Problemet er at den ikke vil smidde den der ned, men meget hellere på skrivebordet....hvis jeg så åbner min app direkte fra min program folder, virker det, men hvis jeg åbner den fra start menuen, skriver den at den ikke kan finde c:\myini.ini

Er der nogle der har en ide til hvordan jeg løser dette problem?

Og desuden er der en som har en ide til hvordan jeg automatisk adder mit program så den altid starter op men windows?

håber i kan hjælpe...min setup.iss fil ser sådan her ud:[Setup]
AppName=webnote
AppVerName=webnote version 1.5
AppCopyright=Copyright (C) 2000-2002 cool-tools
DefaultDirName={pf}\webnote
DisableProgramGroupPage=yes
; ^ since no icons will be created in "{group}", we don't need the wizard
;  to ask for a group name.
UninstallDisplayIcon={app}\webnote.exe

[Files]
Source: "webnote.exe"; DestDir: "{app}"
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme
[Icons]
Name: "{commonprograms}\webnote"; Filename: "{app}\webnote.exe"
Name: "{userdesktop}\webnote"; Filename: "{app}\webnote.exe"

[ini]
Filename: "{win}\myini.INI"; Section: "sign";  //hvad er problemet her? er den et helt forkert sted?

wil/

Avatar billede cool-wil Nybegynder
27. april 2002 - 15:33 #1
nu har jeg fået ini filen til at køre ind i min program folder via:
Source: "myini.ini"; DestDir: "{app}"

Men hvorfor leder mit program i startmenuen efter myini.ini i c:\ i stedet for min program mappe?
webnote.exe i min mappe virker altså fint, men ikke den i start menuen, nogen ide?
Avatar billede stoney Nybegynder
27. april 2002 - 15:42 #2
Det er fordi windows variabel PATH ikke holder stien til dit program

Stoney
Avatar billede stoney Nybegynder
27. april 2002 - 15:42 #3
holder = indeholder

Stoney
Avatar billede cool-wil Nybegynder
27. april 2002 - 15:46 #4
og hvordan er det lige jeg laver det om? har du en ide?
Avatar billede cool-wil Nybegynder
27. april 2002 - 15:54 #5
mit prog ligger i c:\programmer\webnote\ og det gør ini filen også..

hvordan får jeg min genvej i start folderen til at læse/skrive fra den ini fil som ligger i min prog mappe?
Avatar billede stoney Nybegynder
27. april 2002 - 16:02 #6
sådan tilføjer du dit programs path til windows path.
så kan du bare sige Start Kør ditprogram.exe

HUSK at tage backup af registry nøglen inden du forsøger dig.
Det er helt på eget ansvar

procedure SetSystemEnvironmentVariable (const name, value : string);
var
  rv : DWORD;
begin
  with TRegistry.Create (KEY_READ or KEY_WRITE) do
  try
    RootKey := HKEY_LOCAL_MACHINE;
    OpenKey ('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', False);
    WriteExpandString (name, value);
    SendMessageTimeout (HWND_BROADCAST, WM_SETTINGCHANGE, 0, LParam
(PChar ('Environment')), SMTO_ABORTIFHUNG,
    5000, rv);
    SetEnvironmentVariable (PChar (name), PChar (value))
finally
  Free
end
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Reg :  TRegistry;
oldpath : String;
Begin
Reg :=TRegistry.Create;
with Reg do  try


Rootkey:=HKEY_LOCAL_MACHINE;

  OpenKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', true);

oldpath :=Reg.readString('path');

SetSystemEnvironmentVariable('path', oldpath + ';' +application.ExeName);


Reg.CloseKey;


  finally
Reg.Free;
  end;
end;

Stoney
Avatar billede cool-wil Nybegynder
27. april 2002 - 16:03 #7
hvis der evt var en som kunne fortælle mig hvordan jeg regger hvad der står i en tmemo og ved start loader de værdier/og ved slut gemmer dem ( via reg databasen, kunne mit problem med ini filen, evt løses:-)
Avatar billede cool-wil Nybegynder
27. april 2002 - 16:04 #8
mm stoney skal der være så besværligt? jeg troede at jeg via inno kunne gøre det, så den læser den skide ini fil..mmm kigger lige på din kode
Avatar billede stoney Nybegynder
27. april 2002 - 16:04 #9
din genvej skal pege på dit program som så læser i inifilen

Stoney
Avatar billede stoney Nybegynder
27. april 2002 - 16:06 #10
jeg kender/bruger ikke inno.

jeg laver min egen install. rutine.
Det er godt besværligt til gengæld har jeg fuld kontrol over hvad der sker.

Stoney
Avatar billede cool-wil Nybegynder
27. april 2002 - 16:15 #11
nu har jeg valgt at gemme mine program options direkte i reg databasen, det er en del nemmere:-), du får 15 points for at hjælpe, men da jeg ikke fik den helt rigtige løsning, tager jeg halvdelen selv..ok?


wil/
Avatar billede stoney Nybegynder
27. april 2002 - 16:20 #12
Jeg kan ikke hjælpe dig med inno, men jeg kan hjælpe dig med en genvej til dit program

Stoney
Avatar billede aezay Nybegynder
03. maj 2002 - 21:49 #13
Når du referer .ini filen fra din .exe fil skal du skrive
  Ini:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'myini.ini');
og ikke (som jeg tror du har gjort!)
  Ini:=TIniFile.Create('myini.ini');

for så laver TIniFile filen i "CurrentDirectory" hvilket er det som
står i "Start I" feltet i en genvejs fil.
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