Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.01.2011, 21:48
karpanter karpanter вне форума
Прохожий
 
Регистрация: 28.01.2011
Сообщения: 7
Репутация: 10
По умолчанию Помогите найти ошибку

необходима прога для автоматической установки Netframework 2.0.,
что она делает:
1) проверяет есть ли Netframework 2.0
если да то на этом ее активность заканчивается, если нет то скачивает с офф сайта.
2) вопрос с установкой решен через батник.
Есть исходники, по ним она должна работать, но я видать что то упустил при компиле пишет GetinetFile never used непойму почему.
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,Wininet,registry;

type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function ShellExecute(hWnd: HWnd; Operation, FileName, Parameters, Directory: PChar; ShowCmd: Integer): HINST; stdcall;
function RunProcess (path, args : String) : THandle;
   var si : TStartupInfo;
       pi : TProcessInformation;
       cmdLine : String;
   Begin
      ZeroMemory(@si, sizeof(si));
      cmdLine :='"' + path + '" ' + args;
      if CreateProcess(nil, PCHAR(cmdLine) ,nil,nil,TRUE, 0 ,nil,nil,si, pi)
      Then Result := pi.hProcess
      Else Result := 0;
   End;
   function GetInetFile(const fileURL, FileName: string): boolean;
const
  BufferSize = 1024;
var
  hSession, hURL: HInternet;
  Buffer: array[1..BufferSize] of Byte;
  BufferLen: DWORD;
  f: file;
  sAppName: string;
begin
  Result := False;
  sAppName := ExtractFileName(Application.ExeName);
  hSession := InternetOpen(PChar(sAppName),
  INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    hURL := InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0);
    try
      AssignFile(f, FileName);
      Rewrite(f,1);
      repeat
        InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
        BlockWrite(f, Buffer, BufferLen);
      until
        BufferLen = 0;
      CloseFile(f);
      Result := True;
    finally
      InternetCloseHandle(hURL);
    end;
  finally
    InternetCloseHandle(hSession);
  end;
end;
  function GetWinDir: string;
var
reg: TRegistry;
begin
reg:=TRegistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion',true);
Result:=reg.ReadString('PathName');
reg.CloseKey;
reg.Free;
end;
procedure InstallNETFramework;
begin
if DirectoryExists(GetWinDir+'\Microsoft.NET\Framework\v2.0.50727')=false then
begin
GetInetFile('http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe',ExtractFilePath(Application.ExeName)+'dotnetfx.exe');
Sleep(1000);
ShellExecute(form1.handle,'open','bat.bat',nil,nil,SW_SHOW);
Sleep(1000000);
RunProcess('moy.exe','');
end;
end;
end;
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:43.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025