DLL disappears after GAC build on WinMo 5 but not WinMo 6.5?? RRS feed

  • Question

  • We have a program that checks the version of a file(s) on WinMo 5 (CF 2.0) or WinMo 6.5 (CF 3.5) and if the file is not of a sufficient version then it triggers the install of a CAB.  We noticed something different in the behavior of the WinMo 5 and the WinMo 6.5.  After installing the CAB, the \Windows\<cab dll(s) here> disappear from the WinMo 5 but remain on the WinMo 6.5.  Our logic is looking for \Windows\<cab dll(s) here> version x.x.x.x or higher to determine if a newer CAB should be run on the device.


    What we notice is that the \Windows\<cab dll(s) here> are on the WinMo 5 initially after the install of the CAB but after running any program that has a dependency on the \Windows\<cab dll(s) here> (possibly causes a GAC build??) the \Windows\<cab dll(s) here> are no longer there.  The WinMo 6.5 does not exhibit this behavior.


    So there is something for me to learn here.


    Why is the behavior different?

    May we all make money in the sequel.
    • Edited by Dave Williamson2 Monday, August 29, 2011 7:27 PM added note of CF 2.0 and CF 3.5
    Monday, August 29, 2011 7:24 PM

All replies

  • you can set the DLL position in setup project.
    Wednesday, August 31, 2011 12:35 PM
  • @luke-skywalker - If the scenario involves a CAB authored in house but not for 3rd party CABs.  The particular behavior was observed by way of a 3rd party cab but I have no reason to believe anything magical is being done by the CAB other than putting the files on the device.  I would expect the same behavior to be seen for any dll installed and to be GACed although I've not attempted such.

    At this point I assume the difference in behavior is due to the version of the .NET compact framework or the OS but don't know which and know there must be more to learn here.

    May we all make money in the sequel.
    Wednesday, August 31, 2011 5:33 PM
  • Hi Dave,


    I think this is depend on your Smart Device CAB Project settings. When we create this type project, we can add some folder in our devices. These folders can be:

    Fronts, Games, Programs, Start Menu and Windows Folder and so on. You can get more information from

    Walkthrough: Packaging a Smart Device Solution for Deployment


    Generally speaking, there is no output files in Windows Folder, I tested this on my side with .NET Compact 3.5/2.0 on Windows Mobile 5.0 emulator. Therefore, I guess there is Windows folder output in your setup project. You can check this in the setup project's File System editor. If you find the Windows Folder, you can right click and delete it. On the other hand, if you want to add that folder you can right click the space->Add Special Folder to add it.


    I hope my suggestions can help you to solve this problem.


    Best regards,


    Jesse Jiang [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Friday, September 2, 2011 8:52 AM
  • Thanks.  There is definitely output of files to the Windows folder on the device.  This is done by design.  The CAB that does this also does this on WinMo 6.5.  The difference is in how WinMo 6.5 and 5 act once the files are GACed.  On WinMo 5 the files are deleted and only the GAC files remain.  On WinMo 6.5 the files remain as well as the GAC files.

    The creation of the CAB isn't my inquiry.  The deletion of the files on WinMo 5 and not WinMo 6.5 is the heart of my inquiry.

    May we all make money in the sequel.
    Friday, September 2, 2011 12:47 PM