Search code examples
c#winformskinectsetup-project

DLLs not working after installing Visual Studio Setup Project


I have a C# project that I am creating which uses a few DLLs located in a separate folder in my project. I have added these files into the application folder on the file system viewer in the installer project. Everything seems to work fine, it builds properly and doesn't show any big errors.

However, after I try to install my application, it is way smaller than it should be (8.24 MB compared to over 400 MB). I believe the issue arises when I try to open the Microsoft Azure Kinect camera. An error pops up when I do this saying the device could not be opened. This is strange to me because the program runs just fine in debug mode in Visual Studio, meaning the camera is plugged in properly and works.

I compared some of the DLL files from a working, older version that a consultant had made (they created an installer that works fine on my computer). The file sizes were drastically different for these DLLs.

For reference: File Size Differences

I have tried redoing the installer, deleting and re-adding the DLLs, and overwriting the bigger files into my application after installation. I have the SDKs for the Kinect downloaded on my computer. I am also not an administrator for this computer as it is not my personal computer. Another note, the installer from the consultant works fine, however when I try to download the source code that installer came from and try to install it from there, the same issue happens.

The video the consultant used to create the installer is this: https://youtu.be/6Mfp2EXmVNI I followed this tutorial as well, but same issue.


Solution


  • This is a summary of my comments above


    So it looks like you are using Git Large File System (LFS). You currently only have placeholder files. With a Git LFS repo a git pull only grabs non-LFS files whilst leaving placeholder files for everything else. You need to tell Git LFS to actually download them proper.

    Try:

    git lfs pull
    

    Some Git GUI clients will do this for you automatically.

    OP:

    ...which uses a few DLLs located in a separate folder...

    BTW, if these files are essentially static consider adding them to Git as non-LFS files then you can grab them like any other files in your Git repo. LFS is only "useful" if the files will be changing a reasonable number of times and then you have to ask yourself is it really worth it.

    See also