[Code]
type
TSystemTime = record
wYear: Word;
wMonth: Word;
wDayOfWeek: Word;
wDay: Word;
wHour: Word;
wMinute: Word;
wSecond: Word;
wMilliseconds: Word;
end;
procedure GetLocalTime(var lpSystemTime: TSystemTime); external 'GetLocalTime@kernel32.dll';
function DateToInt(ATime: TSystemTime): Cardinal;
begin
//Converts dates to a integer with the format YYYYMMDD,
//which is easy to understand and directly comparable
Result := ATime.wYear * 10000 + aTime.wMonth * 100 + aTime.wDay;
end;
function InitializeSetup(): Boolean;
var
LocTime: TSystemTime;
begin
GetLocalTime(LocTime);
if DateToInt(LocTime) > 20121001 then //(10/1/2012)
begin
Result := False;
MsgBox('Now it''s forbidden to install this program', mbError, MB_OK);
end;
end;
これは私が必要としていたもので、有効期限のあるインストーラーでした。このコードを追加しました。日付が過ぎてメッセージが表示されると機能しますが、日付が有効な場合は機能せず、インストーラーを起動しません。
次のメッセージが表示されます。InitializeSetup は False を返しました。中止しています。EAbort 例外が発生しました。セットアップの初期化を解除しています。***セットアップ終了コード: 1
手伝って頂けますか?ありがとう