I'm giving InstallAware 8.01 a try as we search for a replacement for Visual Studio Setup Projects. I have set my Build Output to:
..\\build\\Setup
and also tried
#PROJDIR#\\..\\build\\Setup
What I find is that the output path is relative not to the project directory, but to... the directory where the .ico file I have specified under Project->Add-Remove resides. Why is this? My icon file is at
[Project diretory]\\..\\Windows\\Icons\\Vista\\my_icon.ico
The build output ends up at
[Project directory]\\..\\Windows\\Icons\\build\\Setup
What does the directory where it grabs the icon from have to do with anything? Why does it not recognize a relative path to the project directory?
Build output is in same dir as Add-Remove Icon
I think I'm detecting a pattern. The output seems to end up at different places at different times. I've seen it in my home directory under my windows profile. I've also seen it in the project directory. And in the InstallAware directory under Program Files. I haven't changed the path listed under Build -> Output -> Create builds in: -> Custom Folder. It just keeps changing where it outputs to.
I think I have noticed that it seems to like to output to whereever I recently had a file->open dialog opened to in the InstallAware IDE. After opening a dialog file from Program Files\\InstallAware, my next build built to Program Files\\InstallAware. When I opened a file in My Documents, the next build build to my home directory. It doesn't always do this, but it seems to have something to do with it.
I think I have noticed that it seems to like to output to whereever I recently had a file->open dialog opened to in the InstallAware IDE. After opening a dialog file from Program Files\\InstallAware, my next build built to Program Files\\InstallAware. When I opened a file in My Documents, the next build build to my home directory. It doesn't always do this, but it seems to have something to do with it.
-
- Posts: 904
- Joined: Thu Dec 22, 2005 7:03 pm
- Contact:
Actually, relative paths are not supported at all...you should always use full paths. Compiler variables are there to help if you want to relativize folders.
Candice Jones
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
Thanks for replying Candice. Unfortunately, using hard-coded full paths is not a reasonable option because the project needs to build on every developer's machine. It can't be expected that everyone checks out his source tree to the same location on his local disk.
Can you tell me more about using Compiler Variables to relativize paths? A specific example woule be great. I tried creating a Compiler Var, $BUILDDIR$, that points to:
#PROJDIR#\\..\\build\\Setup
Then I set my Build->Output to #BUILDDIR#, but this doesn't work. It built to $PROJDIR$\\build\\Setup - ignoring the relative ".."
PS> Is there a way to have the build output window stay visible after the build completes? I'd like to be able to read the build log, but it disappears so quickly...
Can you tell me more about using Compiler Variables to relativize paths? A specific example woule be great. I tried creating a Compiler Var, $BUILDDIR$, that points to:
#PROJDIR#\\..\\build\\Setup
Then I set my Build->Output to #BUILDDIR#, but this doesn't work. It built to $PROJDIR$\\build\\Setup - ignoring the relative ".."
PS> Is there a way to have the build output window stay visible after the build completes? I'd like to be able to read the build log, but it disappears so quickly...
Building from the Command Line
Hi jsmith,
You might want to read the section "Building from the Command Line" in the InstallAware help.
If every developer now starts the build with his custom batch file where he sets the compiler variable for the path, everyone can build a new installer.
Instead of a simple batch file, you could also use some sort of script that can generate an absolute path to provide to InstallAware out of the cwd.
I'm using FinalBulider to call the InstallAware build process.
If every developer shall be able to change the installer script, I don't know of a really elegant solution. The obvious but not so nice solution would be, that everyone that want's to modify the script changes the default for the compiler variable and then performs his work.
Maybe someone knows of a better solution?
Rgs
Richard
You might want to read the section "Building from the Command Line" in the InstallAware help.
If every developer now starts the build with his custom batch file where he sets the compiler variable for the path, everyone can build a new installer.
Instead of a simple batch file, you could also use some sort of script that can generate an absolute path to provide to InstallAware out of the cwd.
I'm using FinalBulider to call the InstallAware build process.
If every developer shall be able to change the installer script, I don't know of a really elegant solution. The obvious but not so nice solution would be, that everyone that want's to modify the script changes the default for the compiler variable and then performs his work.
Maybe someone knows of a better solution?
Rgs
Richard
-
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
As Candice pointed out, you cannot use relative paths - these values are not supported. Instead, you can use one of the following ways:
1. Refactor Paths tool - this will automatically sniff all root paths used across your project and change them in a single click.
2. Compiler Variables - Compiler variables are specified using the form #VARIABLE# and not $VARIABLE$. Every developer can simply keep their own values for these so projects work successfully across every machine.
Note that you cannot use relative paths inside compiler variables either, as previously pointed out.
1. Refactor Paths tool - this will automatically sniff all root paths used across your project and change them in a single click.
2. Compiler Variables - Compiler variables are specified using the form #VARIABLE# and not $VARIABLE$. Every developer can simply keep their own values for these so projects work successfully across every machine.
Note that you cannot use relative paths inside compiler variables either, as previously pointed out.
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
Re: Build output is in same dir as Add-Remove Icon
Hi, a humble request to support relative paths for Build in Custom Folder - it makes it much cleaner since we source control the IA files
-
- Site Admin
- Posts: 5361
- Joined: Sun Aug 22, 2010 4:28 am
Re: Build output is in same dir as Add-Remove Icon
Dear Tofutim,
I suppose it's not easy to release ... anyway, I'll send a note to our team.
Regards
I suppose it's not easy to release ... anyway, I'll send a note to our team.
Regards
Francesco Toscano
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
Who is online
Users browsing this forum: No registered users and 206 guests