Jump to content

FileInstall fails


Recommended Posts

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 by hiho
Link to comment
Share on other sites

  • Moderators

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

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 by hiho
Link to comment
Share on other sites

  • Moderators

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

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 Gude
How 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

  • Moderators

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

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

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

  • Developers

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

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 by hiho
Link to comment
Share on other sites

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

  • Developers

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

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

  • Developers
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 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

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 by hiho
Link to comment
Share on other sites

  • Developers

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 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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...