Scoox
asked on
Visual Studio Installer Custom Action VBS File copy config from installer dir to target dir
Hi guys,
I'm creating a MSI setup with the Visual Studio Installer.
Its supposed to copy a config file that resides in the installer directory to the target directory.
I therefore created this VBS:
which works when run from CommandLine.
However, when I add a customaction and set its CustomActionData to
"[INSTALLDIR]\config" "[TARGETDIR]\"
I get an error message when running the setup.
What am I doing wrong? Is there an easier way to accomplish this?
I cannot add the config file to the setup project, since it's generated by a separate tool and added to the already compiled setup.
I'm creating a MSI setup with the Visual Studio Installer.
Its supposed to copy a config file that resides in the installer directory to the target directory.
I therefore created this VBS:
' Config file verschieben
dim fso, file
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile WScript.Arguments(0), WScript.Arguments(1), true ' Installerdir\config, Targetdir, überschreiben
set fso = nothing
which works when run from CommandLine.
However, when I add a customaction and set its CustomActionData to
"[INSTALLDIR]\config" "[TARGETDIR]\"
I get an error message when running the setup.
What am I doing wrong? Is there an easier way to accomplish this?
I cannot add the config file to the setup project, since it's generated by a separate tool and added to the already compiled setup.
If you have an installer project, you can just add the config file to the installer project's list of files and it will get delivered to the target directory at install time.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thank you. I thought it would be hard to do it with custom dll. Can I write that in C#? Do you have a link for a tutorial?
/TARGETDIR="[TARGETDIR]\" /SOURCEDIR="[SOURCEDIR]\"
SOURCEDIR -> is where the .Msi installer located
TARGETDIR-> is the target installation directory of the .Msi installer
so basically, in your custom action dll, you run the script like this:
Process proc = Process.Start("cscript", string.Format("\"{0}\" \"{1}\"",
Path.Combine(Context.Param
Path.Combine(Context.Param
proc.WaitForExit();