Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

Как программе переименовать свой *.exe?   Найти похожие ветки 

 
Александр из Минска   (2003-10-25 16:35) [0]

Как программе переименовать свой *.exe? Во время работы программы переименовать свой Setup.exe на Project.exe (мне это нужно для создания своего инсталлятора). Обычное RenameFile не работает.


 
mOOx_   (2003-10-25 16:37) [1]

Через второй файл. Проще - батник.
Удачи.


 
Александр из Минска   (2003-10-25 16:39) [2]

А в *.bat что надо писать?
И оно переименует, даже когда моя программа запущена?


 
хз   (2003-10-25 16:47) [3]

2 Александр из Минска

> А в *.bat что надо писать?

Почитай книжку Фигурнова. Что-то вроде этого:

ren setup.exe project1.exe

> И оно переименует, даже когда моя программа запущена?

Нет. Не переименует.

А вообще с bat-файлами не очень удобно работать. Старо это. Попробуй придумать другой способ.


 
Pat   (2003-10-25 16:51) [4]

CopyFile(PChar(paramstr(0)),"Project.exe",true)
где-то в этом районе


 
Ihor Osov'yak   (2003-10-25 16:57) [5]

если для nt - то пройдет такой финт
procedure TForm1.Button1Click(Sender: TObject);
var f: file;
begin //
AssignFile(f, ParamStr(0));
Rename(f, "BlaBla.exe");
end;


 
хз   (2003-10-25 17:09) [6]

2 Pat

Ну да. Вроде того:

Procedure Setup2Program;
Var
Reg:TRegistry;
Begin
CopyFile(PChar(paramstr(0)),"Project.exe",true)
ShellExecute(Application.Handle,nil,PChar(ExtractFilePath(ParamStr(0))+"Project.exe"),nil,nil,SW_SHOW);
reg := TRegistry.Create;
with reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
LazyWrite := false;
OpenKey("Software\Microsoft\Windows\CurrentVersion\RunOnce",false);
WriteString("Delete setup","command.com /c del "+PChar(paramstr(0)));
CloseKey;
free;
end;
end;


 
Ihor Osov'yak   (2003-10-25 17:20) [7]

Да, используя [5] для н-т ряда, или вариации на тему [6] для w9x получишь то, что нужно.. Даже без RunOncle.. Просто скопировать под новым именем, запустить копию, завершить работу инталятора (или от таймера, или при получении команды от запущенной копии), а потом копия удаляет инсталятор..

зы, но мне, как пользователю, не очень то бы понравилось, что во время инсталяции setup.exe ищезает..


 
хз   (2003-10-25 17:37) [8]

> зы, но мне, как пользователю, не очень то бы понравилось, что
> во время инсталяции setup.exe ищезает..

А мне вообще не понятно, откуда пошла мода создавать инсталяторы+программы в одном файле. Неужели нельзя пользоваться генераторами? Тот же NSIS, InstalShield, SetupGenerator, наконец. Ведь есть же простое решение - зачем изобретать велосипед?


 
Александр из Минска   (2003-10-25 20:59) [9]


> Неужели нельзя пользоваться генераторами?

Нет, т.к. мне надо, чтобы при установке компились и регились библиотечки, создавалось и настраивалось соединение удаленного доступа, запускались (параллельно) инсталляторы других программ.


 
Slavian   (2003-10-25 21:06) [10]

if extractfilename<>"Project.exe" then begin
CopyFile("C:\setup.exe,"C:\Project.exe",true)
{далее запускаешь прогу C:\Poject.exe и всё, мне просто не охота писать код запуска, я его не помню!!!}
end else
deletefile("C:\setup.exe");


 
Ihor Osov'yak   (2003-10-25 21:23) [11]

2 [10] Slavian © (25.10.03 21:06)

Ты бы, парень, перед тем как сюда писать, проверял бы как оно работает.. И тебе польза бы была..


 
Slavian   (2003-10-25 21:39) [12]


> Ihor Osov"yak © (25.10.03 21:23) [11]

ну если че то не работает, сами перепроверьте, мне лень! Я примерный код написал дальше сами!


 
хз   (2003-10-26 02:31) [13]

> Я примерный код написал дальше сами!

Настолько примерный, что даже вроде как и к теме не особо относится ;-)


 
Плохиш_   (2003-10-26 03:05) [14]


> Александр из Минска © (25.10.03 20:59) [9]
>
> > Неужели нельзя пользоваться генераторами?
>
> Нет, т.к. мне надо, чтобы при установке компились и регились
> библиотечки, создавалось и настраивалось соединение удаленного
> доступа, запускались (параллельно) инсталляторы других программ.


Ну тут только можно повторить хз © (25.10.03 17:37) [8]
В частности InstallShield всё это с успехом делает.


 
Song   (2003-10-26 10:08) [15]

Перед выходом из программы запускай batник, в котором делаешь:

************** bat **************
1:
ren старое.имя новое.имя
IF not Exists новое.имя Goto 1
*********************************

Ну вообщем как-то так, потому что давно MS-DOS я занимался :)


 
DrPass   (2003-10-26 11:47) [16]


> > Неужели нельзя пользоваться генераторами?
>
> Нет, т.к. мне надо, чтобы при установке компились и регились
> библиотечки, создавалось и настраивалось соединение удаленного
> доступа, запускались (параллельно) инсталляторы других программ

А как ты думаешь, для чего еще были придуманы генераторы дистрибутивов? Чтобы тупо архив распаковывать? Дык, это ты с WinZip спутал :)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.059 c
6-41867
ORMADA
2003-09-10 12:03
2003.11.13
ICS


1-41438
AndDem
2003-10-29 12:29
2003.11.13
OnActive в MDIChild


7-42184
Seldon
2003-09-04 17:23
2003.11.13
Alt+tab


14-42122
alice
2003-10-22 16:41
2003.11.13
Помогите! Задачи по расписанию в DB2!


1-41390
AndreyA
2003-11-04 16:41
2003.11.13
Окна





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский