vsi The property ‘SourceFile’ of file ‘xxxx.dll’ is invalid.

Posted on 2002-07-18
Medium Priority
Last Modified: 2012-06-27
I’m trying to build a merge module with visual studio installer, the project contains several dlls that I have created and I am getting this warning for only one of them.

If I double-click the file name in the dependencies list I get the message ‘The file that this item references cannot be found.’.

The file exists, is registered and is listed in the dep file for the second dll.

Why should this sourcefile be invalid?
  • 4
  • 2
LVL 20

Accepted Solution

hes earned 400 total points
ID: 7162500
Try deleting the file from the installer project and then add it again, using the full path to the dll
LVL 17
ID: 7162578
Thanks hes

I have tried that, I can't delete the file itself as it is only in there because it is listed as a dependency of an included file.
I can delete the dependency reference and add the file but it then appears directly under Files. If I then restore the reference it still comes up with the warning.

I have to confess almost total ignorance of vsi, I'm new to it and the documentation seems mostly aimed at telling me how good it is, but very little in the way of how I should be using it. I haven't found very much at all on creating and using merge modules, although what I have read seems to be telling me that I should be using them.
LVL 17
ID: 7162689
I've been prodding around and I don't know whether this will help you to help me.

If I right-click on the dependancy of one of my files that doesn't show an error it shows the full path - well with some dots and backslashes, but if I view the same information on the offending file then SourceFile is just shown as the filename, no path. At least the error message is beginning to make some sense now.

Can you suggest anything I can do to encourage the SourceFile property to display the path?

I have the code that created the offending file (VB), could it be something I set when I compiled it or built the dep file?
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

LVL 17
ID: 7164345
I've fixed it/got around it.
Not sure if it's a valid way but it's got rid of the warning.
I opened the dep file (of the project that references the missing file)and added the full dll path in there.
Rebuilt the merge project and the warning has gone.
(Almost what you suggested hes)

I've actually got another problem now, it say's I can't include a dialog in the module - this didn't show up before and looks somewhat like a good place to stop.

Can you suggest a reference or a good book that would explain merge modules or the proper use of vsi?
LVL 17
ID: 7165024
Thanks for your time hes,

I've actually visited all those references or found them in msdn :(

Never mind though, your first comment put me on the right track, there seems to be a lot more to this subject than the available documentation would have me believe.

Featured Post

Train for your Pen Testing Engineer Certification

Enroll today in this bundle of courses to gain experience in the logistics of pen testing, Linux fundamentals, vulnerability assessments, detecting live systems, and more! This series, valued at $3,000, is free for Premium members, Team Accounts, and Qualified Experts.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
This article describes how to use a set of graphical playing cards to create a Draw Poker game in Excel or VB6.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

624 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question