1) Reference the data using a UNC path. For example, \\machine\share\file.extension.
2) Put the data in a path which is not based on Program Files. Why not use C:\Assessor?
3) Use symbolic links to make the paths the same, e.g. using junction or mklink. If you do this then you can install the data to different locations but reference it using the same symbolic (or logical) link
There are classes in the .NET Framework for handling this sort of thing. Because the location of system and special Windows folders differs from OS to OS, you should use these built-in classes when dealing with the file system. The location of the Program Files folder can be determined in Visual Basic with the following code:
Dim programFilesPath As String = My.Computer.FileSystem.SpecialDirectories.ProgramFiles
You can then append any subdirectory paths and/or filenames as needed.