In Visual Studio, when you select "Add Existing File..." if you just click
"Add", then the file will be copied to your local directory. This is by
design and works the same way as C#, VB, etc. If you want to add a link,
which you do, then drop down the little arrow next to the "Add" you'll see
an "Add As Link" option. You want to select that. This will then populate
your MSBuild (.wixproj) file for you correctly. You will not be allowed to
Delete that file, but you can remove the link from your project. Does this
make sense?

To do this manually, you have to do this:

<Content Include="relative path to file">
  <Link>How you want the file to appear in your project</Link>
</Content>

A more concrete example:

<Content Include="..\Release\MyExe.exe">
  <Link>MyExe.exe</Link>
</Content>

You shouldn't get messy directory structures if you do this approach.

Justin

-----Original Message-----
From: Anthony Wieser [mailto:[EMAIL PROTECTED] 
Sent: Friday, March 23, 2007 7:38 AM
To: Justin Rockwood; wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Problems with Post Build Step and Dependencies in
Votive


----- Original Message -----
From: "Justin Rockwood" <[EMAIL PROTECTED]>
To: "'Anthony Wieser'" <[EMAIL PROTECTED]>;
<wix-users@lists.sourceforge.net>
Sent: Thursday, March 22, 2007 6:40 PM
Subject: RE: [WiX-users] Problems with Post Build Step and Dependencies in
Votive


> Do you mind logging a bug on the _TimeStampAfterCompile? I'll look into
> that.

Done.

> As far as forcing a recompile... You can do that by including your inputs
> into your .wixproj project file as <Content> elements. In Votive, you do
> this by selecting "Content" from the Build Type property in the property
> browser (hit F4 if it's not showing). If you're working just with the
> MSBuild .wixproj file, you can just add <Content>Relative path to
> file</Content> in an <ItemGroup> section. When compiling, I account for
the
> <Content> elements to trigger a rebuild if they change.
>
> Justin

I can't get this to work with Votive.  My solution is structured as follows:

Proj-root
|
|-----Main Program Project
|
|-----Debug
|
|-----Release  [exe to depend on is here]
|
|-----Wix Project
|        |-----bin
|                |------Release [msi ends up here]

In my project in VS2005, I right click on the Wix project, and choose Add >
Existing Item...
When I navigate up the hierarchy to release, what happens is that a copy of
the selected .exe file ends up in the Wix Project folder.

the .wixproj file contains:
<ItemGroup>
    <Content Include="myprog.exe">
</ItemGroup>

Is that correct?

Manually editing as suggested above to
<Content Include="..\release\myprog.exe"> makes the project expand into a
messy disaster of .. folders, which presumably isn't correct either.
Especially as there are 3 .. based folders!

looking at the aftermath of that, this is what ends up in the wixproj file:
<ItemGroup>
    <Folder Include="..\" />
    <Folder Include="..\release" />
</ItemGroup>

Being of a suspicious nature, I created another folder, and then deleted it,
and found it was removed from my disk.
I dread to think what will happen if I try to delete one of these from
within votive, but why not?

<Don'tTryThisAtHome>
Deleting the .exe shown under folder release under folder .. does indeed
delete the exe from the release...
Deleting the folder release under the folder .. the exe was in:  You guessed
it.  The folders gone.
Deleting the other folder release that was under the populated .. tries to
delete, but, instead gives:
    Internal MSBuild Error:  No parent BuildItemGroup for item to be
removed.
</Don'tTryThisAtHome>

Even I'm not brave enough to delete my parent folder, which contains the
project I'm in and everything else.

Ideally, I'd like to link in the outputs of the same configuration somehow
into the dependency tree, though I'm not sure how to do that now.  Any
ideas?

Anthony Wieser
Wieser Software Ltd

p.s.  What's the proper protocol for replies like this?  Should they go to
the author and the list, or just the list?





-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to