hiho Posted July 11, 2013 Share Posted July 11, 2013 (edited) Well.. as the title says, I can't get FileInstall to "install" (when compiled) or copy (when running the script) the file. I tried a lot of combinations but none of them work. I even used Unlocker to "unlock" the files/folders from explorer.exe and then restarted the computer to try again but still couldn't get the script working. $p2 = "E:\Programs\Counter Strike 1.6 Lite\cstrike" If FileExists("E:\Programs\New folder\cstrike\resource\background\800_1_a_loading.tga") Then FileInstall("E:\Programs\New folder\cstrike\resource\background\800_1_a_loading.tga", $p2 & "\resource\background\800_1_a_loading.tga", 1) if @error Then MsgBox(0, "", @error) Else MsgBox(0, "", "file not found") exit EndIf Sleep(3000) ; some delay for the file to be copied althought it's 193 kb... if FileExists($p2 & "\resource\background\800_1_a_loading.tga") Then MsgBox(0, "", "file found") Else MsgBox(0, "", "file not found - 2") EndIf The only message box that shows is the last one - "file not found 2" and the file isn't there. Hope someone can give me a hint. Running latest AutoIT version /3.3.8.1/ + Scite version 3.3.0 on W7 Ultimate SP1 (all updates are installed). Edited July 11, 2013 by hiho Link to comment Share on other sites More sharing options...
Moderators JLogan3o13 Posted July 11, 2013 Moderators Share Posted July 11, 2013 Hi, hiho. What application is this for? There may be an easier way to do it what you're trying to accomplish. "Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball How to get your question answered on this forum! Link to comment Share on other sites More sharing options...
hiho Posted July 11, 2013 Author Share Posted July 11, 2013 (edited) It's for my personal use. And yes, I know why you are asking - it's not game automating since this is copying files, not starting / manupilating the game, right? Edited July 11, 2013 by hiho Link to comment Share on other sites More sharing options...
Moderators JLogan3o13 Posted July 11, 2013 Moderators Share Posted July 11, 2013 We'll let a Mod weigh in, but I would say that your best bet is a full explanation of what you're trying to do so they can see it is not for automation. If they're fine with it, we're fine helping out with the FileInstall piece. "Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball How to get your question answered on this forum! Link to comment Share on other sites More sharing options...
BrewManNH Posted July 11, 2013 Share Posted July 11, 2013 Your program only fileinstalls the file if it already exists. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
0xdefea7 Posted July 11, 2013 Share Posted July 11, 2013 You can just use FileCopy in this case since you are checking to see if the original file exists. There is no reason to FileInstall unless you are actually going to compile and move your script to another machine. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted July 11, 2013 Moderators Share Posted July 11, 2013 hiho,As long as the script remains limited in scope to file copying (or rather why it is not copying ) I am happy to leave it open. And I think BrewManNH has the answer. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
hiho Posted July 11, 2013 Author Share Posted July 11, 2013 @Melba23, well, yes. I ain't searching support for game manupilating. @BrewManNH, the file is there. If it wasn't then I would get a "file not found messabox". @0xdefea, yes I know. Link to comment Share on other sites More sharing options...
0xdefea7 Posted July 11, 2013 Share Posted July 11, 2013 Does this directory already exist? $p2 & "\resource\background\" Link to comment Share on other sites More sharing options...
hiho Posted July 11, 2013 Author Share Posted July 11, 2013 Yes. The folder is there. It is empty. One thing I should have noted is that changing the second parameters of FileInstall() to "$p2 & "resourcebackground"" copies the file as "background". Link to comment Share on other sites More sharing options...
Developers Jos Posted July 11, 2013 Developers Share Posted July 11, 2013 Yes. The folder is there. It is empty. One thing I should have noted is that changing the second parameters of FileInstall() to "$p2 & "resourcebackground"" copies the file as "background". Are you sure it does create a file that has the same name as an existing empty directory? SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
hiho Posted July 11, 2013 Author Share Posted July 11, 2013 (edited) Yes. I can make a video if you want. Edit : And the filesize of the new file - "background" - is as the original file. Edit 2 : The location of the file is "$p2 & "resourcebackground" = "E:ProgramsCounter Strike 1.6 Litecstrikeresourcebackground", so the file is "E:ProgramsCounter Strike 1.6 Litecstrikeresourcebackgroundbackground". Edited July 11, 2013 by hiho Link to comment Share on other sites More sharing options...
0xdefea7 Posted July 11, 2013 Share Posted July 11, 2013 This just copies using the original filename, it does not create a file the same name as an existing directory. The result of this function is that "test.txt" is copied into "%temp%__atest.txt" If FileExists("C:\users\tester\desktop\test.txt") Then If Not FileExists(@TempDir & "\__a") Then DirCreate(@TempDir & "\__a") If (FileInstall("C:\users\tester\desktop\test.txt", @TempDir & "\__a\") = 0) Then ConsoleWrite("FileInstall failed" & @CRLF) EndIf Link to comment Share on other sites More sharing options...
Developers Jos Posted July 11, 2013 Developers Share Posted July 11, 2013 Yes. I can make a video if you want. Edit : And the filesize of the new file - "background" - is as the original file. Don't need a Movie for this So you delete the file "background" first before creating the direcory "background" and trying to copy the file into it? SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
hiho Posted July 11, 2013 Author Share Posted July 11, 2013 Sorry, Jos, didn't understand the question. The "cstrikeresourcebackground" is made from the game installer. It has a few files like 800_1_a_loading.tga but with different names. In my main project this is the line I use FileInstall("E:\Programs\New folder\cstrike\resource\background\800_1_a_loading.tga", $p2 & "\resource\background\800_1_a_loading.tga", 1) where $p2 is a pameter (I used FileSelectFolder) and since the files weren't replacing, I deleted the content of E:ProgramsCounter Strike 1.6 Litecstrikeresource and started trying with another script (it's in the first post). Link to comment Share on other sites More sharing options...
0xdefea7 Posted July 11, 2013 Share Posted July 11, 2013 I deleted the content of E:ProgramsCounter Strike 1.6 Litecstrikeresource You would still then need to create the "background" directory again before FileInstall will succeed. Link to comment Share on other sites More sharing options...
hiho Posted July 11, 2013 Author Share Posted July 11, 2013 As I told you in my 3rd post, the folder exists. Link to comment Share on other sites More sharing options...
Developers Jos Posted July 11, 2013 Developers Share Posted July 11, 2013 (edited) Let me ask something before trying to explain this any further: Why do you have this test before the fileinstall?: If FileExists("E:\Programs\New folder\cstrike\resource\background\800_1_a_loading.tga") Then Edited July 11, 2013 by Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
hiho Posted July 11, 2013 Author Share Posted July 11, 2013 (edited) To make sure AutoIT knows the file is there although running FileInstall("E:\Programs\New folder\cstrike\resource\background\800_1_a_loading.tga", $p2 & "\resource\background\800_1_a_loading.tga", 1) doesn't copy the file. Edited July 11, 2013 by hiho Link to comment Share on other sites More sharing options...
Developers Jos Posted July 11, 2013 Developers Share Posted July 11, 2013 (edited) To make sure AutoIT knows the file is there although running FileInstall("E:\Programs\New folder\cstrike\resource\background\800_1_a_loading.tga", $p2 & "\resource\background\800_1_a_loading.tga", 1) doesn't copy the file. You clearly do not understand the way Fileinstall works:The fileinstall first parameter is ONLY used at Compilation time to include the Source file into the Program Resources, NOT at run time so putting in a test like you have done doe not make sense. When doing a RUN (Executing your script with autoit3.exe), the script will use FileCopy() to do the actual execution of FIleInstall. Try using Filecopy for testing. Yes. The folder is there. It is empty. One thing I should have noted is that changing the second parameters of FileInstall() to "$p2 & "resourcebackground"" copies the file as "background". This doesn't make much sense when you are actually using the script posted in the first post and changing the second parameter. So are you actually using that script? Edited July 11, 2013 by Jos SciTE4AutoIt3 Full installer Download page - Beta files Read before posting How to post scriptsource Forum etiquette Forum Rules Live for the present, Dream of the future, Learn from the past. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now