Jump to content

FileInstall in an If Then statement?


Go to solution Solved by BrewManNH,

Recommended Posts

Posted

Hello,

This might be more of a best practice question than a functional one.

If I put two FileInstall statements inside an If Then, will both files still be included at compile time?

For example:

Global $sBitness = $sBase_x32
Global $sInstaller64 = "Installer-v5.12-x64.msi"
Global $sInstaller32 = "Installer-v5.12-x86.msi"

;Set bitness of OS and get external file necessary for the install file, to be included when the script is compiled.
If Not @OSArch = "X86" Then
    $sBitness = $sBase_x64
    FileInstall("C:\Installer\" & $sInstaller64, @TempDir & "\" & $sInstaller64, 1)
Else
    FileInstall("C:\Installer\" & $sInstaller32, @TempDir & "\" & $sInstaller32, 1)
EndIf

Thanks in advance,

tk1

  • Solution
Posted

Yes

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

Posted (edited)

If I put two FileInstall statements inside an If Then, will both files still be included at compile time?

 

No

Fileinstall() will fail with message Invalid FileInstall() function during compile.

Helpfile says:

The source path of the file to compile. This must be a literal string; it cannot be a variable or the result of a function call.

Here a working code

FileInstall("C:\Installer\Installer-v5.12-x64.msi", @TempDir & "\Installer-v5.12-x64.msi", 1)
FileInstall("C:\Installer\Installer-v5.12-x86.msi", @TempDir & "\Installer-v5.12-x86.msi", 1)
ShellExecute(@TempDir & "\Installer-v5.12-" & @OSArch & ".msi")
Edited by Exit

App: Au3toCmd              UDF: _SingleScript()                             

Posted

Exit is correct, I missed the fact you're using a variable in the FileInstall function. But if properly written, both files will be installed.

I really need to proofread what's posted better. :doh:

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

Posted (edited)

Yes, and it seemed to work in my testing, but not in practice.  As stated many places here, the source cannot have a variable so I changed it to be explicit and now that works.   DOH!   :bye:

Edited by tk1

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
  • Recently Browsing   0 members

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