Build output is in same dir as Add-Remove Icon

Got a problem you cannot solve? Try here.
jsmith
Posts: 178
Joined: Tue Nov 04, 2008 10:47 am

Build output is in same dir as Add-Remove Icon

Postby jsmith » Tue Nov 04, 2008 11:12 am

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?

jsmith
Posts: 178
Joined: Tue Nov 04, 2008 10:47 am

Postby jsmith » Wed Nov 05, 2008 3:19 pm

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.

CandiceJones
Posts: 904
Joined: Thu Dec 22, 2005 7:03 pm
Contact:

Postby CandiceJones » Wed Nov 05, 2008 5:06 pm

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/

jsmith
Posts: 178
Joined: Tue Nov 04, 2008 10:47 am

Postby jsmith » Thu Nov 06, 2008 9:32 am

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

jsmith
Posts: 178
Joined: Tue Nov 04, 2008 10:47 am

Postby jsmith » Fri Nov 07, 2008 12:46 pm

Candice or anyone else from InstallAware- finding a solution to this problem is crucial to determining if we are going to purchase your product. Please advise as to how I can provide an output path relative to the InstallAware project directory.

ulrichard
Posts: 150
Joined: Thu Dec 27, 2007 5:45 am
Location: Switzerland
Contact:

Building from the Command Line

Postby ulrichard » Mon Nov 10, 2008 3:46 am

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

MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Postby MichaelNesmith » Tue Nov 11, 2008 2:57 pm

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.
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/

tofutim
Posts: 176
Joined: Thu Mar 01, 2012 1:16 pm

Re: Build output is in same dir as Add-Remove Icon

Postby tofutim » Thu Oct 22, 2015 4:26 pm

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

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: Build output is in same dir as Add-Remove Icon

Postby FrancescoT » Fri Oct 23, 2015 1:11 pm

Dear Tofutim,

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


Return to “Technical Support”

Who is online

Users browsing this forum: Bing [Bot] and 39 guests