Description:
I'm trying to create an install package for a solution consisting of the two standard projects for Visual Studio Core Isolated: ProjectName and ProjectNameUI. The solution also contains a wix project. The wix project references the main core project ProjectName. The reference sometimes appears normal, sometimes has a warning icon overlay. When it appears normal, the property pages for the reference does not show the Full Path of the reference. When the overlay appears, the Full Path contains the NullReferenceException message. Using a preprocessor variable in the wxs file results in the following build error: Undefined preprocessor variable '$(var.ProjectName.TargetFileName)'
TargetFileName just being an example in this case.
Repro steps:
VS2k8, install the VS 2008 SDK. Create a new solution, Other Project Types -> Extensibility -> Visual Studio Shell Isolated.
Add a new Wix installer project to the solution (WiX Project)
In the WiX project, reference the non-UI Shell project (defaults to VSShellStub1).
Examine the property pages for the reference. Either the exception message or nothing will be listed.
Add the following to the wsx file under the INSTALLLOCATION directory node:
<component id="user-content-IsolatedShell" guid="0DA175A0-21BD-11DD-94C4-1AFF55D89593">
<file id="user-content-lol" name="$(var.VSShellStub1.TargetFileName)" source="$(var.VSShellStub1.TargetPath)" vital="yes">
</file></component>
Build the solution
Build will fail with the error message Undefined preprocessor variable '$(var.VSShellStub1.TargetFileName)'.
Logged In: YES
user_id=2092789
Originator: YES
wix, Version=3.0.3829.0, Culture=neutral, PublicKeyToken=ce35f76fcda82bad
votive2008, Version=3.0.3829.0, Culture=neutral, PublicKeyToken=ce35f76fcda82bad
Logged In: YES
user_id=2092789
Originator: YES
wix, Version=3.0.3829.0, Culture=neutral, PublicKeyToken=ce35f76fcda82bad
votive2008, Version=3.0.3829.0, Culture=neutral, PublicKeyToken=ce35f76fcda82bad
Logged In: YES
user_id=2086430
Originator: NO
We've recently fixed a few bugs related to reference paths. This should be working in build 3.0.4123.0 or later.
This bug is still there. jasongin is talking about a fix in 3.0.4123.0 but I was able to reproduce the bug with 3.0.4318.0
This is very annoying, Votive is completely useless without the project references feature.
This bug is still there. jasongin is talking about a fix in 3.0.4123.0 but I was able to reproduce the bug with 3.0.4318.0
This is very annoying, Votive is completely useless without the project references feature.
Is the VSX project a C++ or other non-MSBuild project? Votive doesn't support referencing projects that aren't based on MSBuild.
I believe that the "non-UI Shell project" is a C++ project, but I'm not aware that it isn't a MSBuild project. I'll have to check on that.
In my case, the referenced projects are regular win32 c++ dlls. They are using MSBuild projects. This is a blocking issue, please help fixing it. I can post the project/solution files if needed. Thanks.
Any C++ project is not MSBuild. C++ projects in VS use a different project system that is more difficult to interoperate with. That's why Votive v3 does not yet support references to C++ projects. We know C++ project references is an important feature, but it's not done yet. The work is tracked by feature request #1585281.