jangogo
20th July 2003 04:48 UTC
I would like NOT to compile all files into a big EXE setup file
I like all files not zip and complie into a big exe file, just let all the folders and files as its'-selfs.
so how can i write a script like this:
Copy_MyStandAloneFile_In_SourceMediaFolder DesFolder
Thanks!
DOCa Cola
20th July 2003 08:38 UTC
Excerpt from the documentation
4.9.3.2 CopyFiles
[/SILENT] [/FILESONLY] filespec_on_destsys destination_path [size_of_files_in_kb]
Copies files from the source to the destination on the installing system. Useful with $EXEDIR if you want to copy from installation media, or to copy from one place to another on the system. Uses SHFileOperation, so the user might see a status window of the copy operation if it is large (to disable this, use /SILENT). The last parameter specifies how big the copy is (in kilobytes), so that the installer can approximate the disk space requirements. On error, or if the user cancels the copy (only possible when /SILENT was omitted), the error flag is set. If /FILESONLY is specified, only files are copied.
jangogo
20th July 2003 13:46 UTC
It works but I can't use DLLReg and some other micro and funcions.
This Command ONLY COPY.
Thx
kichik
20th July 2003 13:59 UTC
File also just copies, but unlike CopyFiles it does this from the EXE itself. You can still use RegDLL and other instructions if you use CopyFiles.
jangogo
21st July 2003 06:37 UTC
!insertmacro UpgradeDLL "$EXEDIR\MyFolderNeedtoCopy\dllname.dll" "$SYSDIR\dllname.dll"
I can't compile this script, It may means I CAN NOT use $EXEDIR for some functions(like: GetDLLVersionLocal etc..)
kichik
21st July 2003 11:35 UTC
As this macro uses File internally you will have to update it a bit. Just replacing File with CopyFiles should work.
jangogo
23rd July 2003 06:45 UTC
get the pram "$EXEDIR\MyFolderNeedtoCopy\dllname.dll" to GetDLLVersionLocal
It can't work: Can not find the file,This may means $EXEDIR CAN NOT be right in script time and complie time ,but OK in install run time!
kichik
23rd July 2003 13:03 UTC
Of course $EXEDIR is not defined. How can the compiler know where the installer will be in the future? Use a specific full path or a relative path.