Search the Community
Showing results for tags '#include files'.
-
So I was looking at the self delete FAQ code and was wondering if there is a way for me to modify that to do a self compile. Basically, I want to be able to take my .exe, run it, have it unpack and change whatever files need changing, then recompile everything back into itself. I considered making a separate .exe so I could auto re-run the main.exe afterwards using a switch ,and I was also thinking I could make a placeholder file so the program would know it was just updated and run anything specific afterwards if I didn't make a separate .exe MsgBox(0,"Start","Starting self-compile attempt.") $iDelay = 0 Local $sCmdFile FileDelete(@TempDir & "update.bat") $sCmdFile = 'ping -n ' & $iDelay & ' 127.0.0.1 > nul' & @CRLF _ & ':loop' & @CRLF _ & @ScriptDir & 'UpdatesAut2exe.exe /in test.au3 /icon test.ico' & @CRLF _ & 'if exist "' & @ScriptDir & 'Updatestest.au3 goto loop' & @CRLF _ & 'Pause' FileWrite(@TempDir & "update.bat", $sCmdFile) Run(@TempDir & "update.bat", @TempDir, @SW_SHOW) Also, if I make an includes file, to list all of the files that would need including, would that be relative to that file, i.e This code would run the file from the main.exe being in the highest parent folder (like C: for example) ShellExecute(""Subfolderincludedsubfolderfile.exe" But in my subfolder: (example C:UpdateFileInstall.au3 and C:Updateextra_filesfile.exe) FileInstall("extra_filesfile.exe", "file.exe") If I was to #include that file into my main.exe, would it be placed in the right folder? I'm gonna test that theory in a bit, and post my findings. The basic thing is that if I was to re-compile the script, since that has to be a literal string, would prefer to not have to do a bunch of checking for those files to be in the right place lol. As I'm running this through my head, I'm realizing that one option would be to compile that into the other .exe (update.exe) and then just have an extract all switch like /e. Basic breakdown as I see it in my head: have the main.exe compile FileInstalling only the compiler and the update.exe files. The main.exe file would then extract the update.exe file and by default it would extract all files needed for running the sub programs. When going to update I would pass a switch /u to it so it would update any files, then recompile the main.exe. This is where the my need to possibly pass the command via the loopback into the computer would be needed. My testing shows that when going to run the compiler I need more time between the time I pass the command and the time it starts compiling due to it trying to pack the update.exe file and causing the compile to fail. One option I thought of was to do: FileInstall("Update.ex_","Update.ex_") FileInstall("Update.ex_","Update.exe") but someone else didn't like it because they was thinking it would double the size of the file. I'm gonna test that theory in a minute as well after I finish making my final edit xD Ok sorry for the massive post but this is a unique to me concept and was wondering if anyone else found this idea interesting and also had any advice.
- 7 replies
-
- Compiling
- Self Compiling
-
(and 1 more)
Tagged with: