[VB6] XP/Vista/Win7 Manifest Creator - Page 2-VBForums
Page 2 of 2 FirstFirst 12
Results 41 to 58 of 58

Thread: [VB6] XP/Vista/Win7 Manifest Creator

  1. #41

    Thread Starter
    VBaholic & Loving It LaVolpe's Avatar
    Join Date
    Oct 2007
    Location
    GetWindowRect()
    Posts
    11,938

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    Quote Originally Posted by dee-u View Post
    I cannot understand the above instruction, I cannot find "Resource Files" in the combobox?
    When you click the GO button, you should be presented with a browser window. Select "Resource Files" in browse window's bottom combobox
    Insomnia is just a byproduct of, "It can't be done"

    Newbie? Novice? Bored? Spend a few minutes browsing the FAQ section of the forum. Read the HitchHiker's Guide to Getting Help on the Forums.
    Here is the list of TAGs you can use to format your posts


    {Alpha Image Control} {Memory Leak FAQ} {GDI+ Classes/Samples} {Unicode Open/Save Dialog} {Icon Organizer/Extractor}
    {VBA Control Arrays} {XP/Vista Manifest Creator} {UserControl Button Template} {stdPicture Render Usage}

  2. #42

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    This works very well on setting the UAC permissions on vista Thank you

  3. #43
    Member
    Join Date
    Feb 2011
    Posts
    53

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    It works perfectly on my app, I have the admin rights now elevated, but when I drag and drop a picture on a picture box it does not work, what is the problem? please tell me.

  4. #44

    Thread Starter
    VBaholic & Loving It LaVolpe's Avatar
    Join Date
    Oct 2007
    Location
    GetWindowRect()
    Posts
    11,938

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    Quote Originally Posted by rojaldearintok View Post
    It works perfectly on my app, I have the admin rights now elevated, but when I drag and drop a picture on a picture box it does not work, what is the problem? please tell me.
    Ummm, what does your drag/drop problem have to do with this manifest creator? You are making an assumption, right or wrong, that permissions are involved with your problem. Post your question along with some code snippets in the appropriate portion of the forums.

    Please use this thread to only post questions/information relevant to the project I provided. Otherwise, the CodeBank section is not the place to post non-related questions. Thank you.
    Insomnia is just a byproduct of, "It can't be done"

    Newbie? Novice? Bored? Spend a few minutes browsing the FAQ section of the forum. Read the HitchHiker's Guide to Getting Help on the Forums.
    Here is the list of TAGs you can use to format your posts


    {Alpha Image Control} {Memory Leak FAQ} {GDI+ Classes/Samples} {Unicode Open/Save Dialog} {Icon Organizer/Extractor}
    {VBA Control Arrays} {XP/Vista Manifest Creator} {UserControl Button Template} {stdPicture Render Usage}

  5. #45
    Member
    Join Date
    Feb 2011
    Posts
    53

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    sorry
    Last edited by rojaldearintok; Jun 20th, 2011 at 02:06 AM.

  6. #46
    New Member
    Join Date
    Jul 2011
    Posts
    3

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    Nice project LaVolpe. I wonder if the version or appname make any difference. For example, I created a resource using your tool called VisualStyles.res ver 1.0.0.0. I have several vb projects so I simply add this res file to each VB6 project and modify the SubMain.

    I can't see that the version or name make any difference. Are they important?

  7. #47

    Thread Starter
    VBaholic & Loving It LaVolpe's Avatar
    Join Date
    Oct 2007
    Location
    GetWindowRect()
    Posts
    11,938

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    Talking about which app name and version you place inside the applications section of the manifest?

    Per the links in post #2, it should, or could, make a difference. The version & app name in the manifest should be unique, per Microsoft.
    Insomnia is just a byproduct of, "It can't be done"

    Newbie? Novice? Bored? Spend a few minutes browsing the FAQ section of the forum. Read the HitchHiker's Guide to Getting Help on the Forums.
    Here is the list of TAGs you can use to format your posts


    {Alpha Image Control} {Memory Leak FAQ} {GDI+ Classes/Samples} {Unicode Open/Save Dialog} {Icon Organizer/Extractor}
    {VBA Control Arrays} {XP/Vista Manifest Creator} {UserControl Button Template} {stdPicture Render Usage}

  8. #48
    New Member
    Join Date
    Jul 2011
    Posts
    3

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    Yes, the application section. I have not seen any issues relating to uniqueness, but it may be there. I'm also finding that just placing a manifest file in a dir doesn't work anymore for one of our non VB apps on Win 7.

  9. #49

    Thread Starter
    VBaholic & Loving It LaVolpe's Avatar
    Join Date
    Oct 2007
    Location
    GetWindowRect()
    Posts
    11,938

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    Quote Originally Posted by bh626 View Post
    I'm also finding that just placing a manifest file in a dir doesn't work anymore for one of our non VB apps on Win 7.
    Not sure what to tell you. As we all know, what used to work before may not work on newer systems. When in doubt, I always side with the creator's advice (Microsoft in this case). And this is the reason why the option to provide that information exists in this project. Will changing that info in your manifest fix it? Easy enough to test & rule out for your situation. I'd also verify the manifest is in line with the link(s) in post #2 to rule out improper format/content.
    Insomnia is just a byproduct of, "It can't be done"

    Newbie? Novice? Bored? Spend a few minutes browsing the FAQ section of the forum. Read the HitchHiker's Guide to Getting Help on the Forums.
    Here is the list of TAGs you can use to format your posts


    {Alpha Image Control} {Memory Leak FAQ} {GDI+ Classes/Samples} {Unicode Open/Save Dialog} {Icon Organizer/Extractor}
    {VBA Control Arrays} {XP/Vista Manifest Creator} {UserControl Button Template} {stdPicture Render Usage}

  10. #50
    New Member
    Join Date
    Aug 2011
    Posts
    1

    Re: [VB6] XP/Vista Manifest Creator

    Thanks for providing this creator. Looks much better than plain VB6.
    Please note the following:
    1) Option buttons in Frames look fine in Win 7 and Vista. Only get blacked out in XP.
    2) Adding the security section seems to cause problems in Win 7 (and I expect Vista). It stopped my app from creating a file correctly in the users document folder (standard user with no special admin rights under Win7). It also wouldn't remember (save) the Armadillo security key entered. It would forget the key each time the app was restarted. These problems disappear if I don't use the security feature (invoker).

  11. #51

    Thread Starter
    VBaholic & Loving It LaVolpe's Avatar
    Join Date
    Oct 2007
    Location
    GetWindowRect()
    Posts
    11,938

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    Thanx for the feedback. Regarding manifest causing issues in Win7, suggest reading the related links in post #2 to see if it sheds any light
    Insomnia is just a byproduct of, "It can't be done"

    Newbie? Novice? Bored? Spend a few minutes browsing the FAQ section of the forum. Read the HitchHiker's Guide to Getting Help on the Forums.
    Here is the list of TAGs you can use to format your posts


    {Alpha Image Control} {Memory Leak FAQ} {GDI+ Classes/Samples} {Unicode Open/Save Dialog} {Icon Organizer/Extractor}
    {VBA Control Arrays} {XP/Vista Manifest Creator} {UserControl Button Template} {stdPicture Render Usage}

  12. #52
    PowerPoster
    Join Date
    Feb 2006
    Posts
    11,046

    Re: [VB6] XP/Vista Manifest Creator

    Quote Originally Posted by Grasmere View Post
    2) Adding the security section seems to cause problems in Win 7 (and I expect Vista). It stopped my app from creating a file correctly in the users document folder (standard user with no special admin rights under Win7). It also wouldn't remember (save) the Armadillo security key entered. It would forget the key each time the app was restarted. These problems disappear if I don't use the security feature (invoker).
    Almost certainly due to the program working properly (with the trustInfo) instead of with filesystem and registry virtualization.

    Of course "properly" here means following the rules which restrict where programs can write to. If your programs are not Vista-aware then they need the virtualization appcompat shims, and so cannot have a trustInfo section. The presence of trustInfo (no matter the requestedExecutionLevel setting) is an explicit declaration to Windows that you are Vista-aware. Legacy programs need to omit this section.

    A user's Documents folder is not a restricted location. Perhaps your program is using an old-format hard coded path?

    Beyond virtualization there are other shims like CorrectFilePaths involved. Also note Profile Changes in Windows Vista and Windows Server 2008 and beyond for some details.
    Last edited by dilettante; Aug 12th, 2011 at 09:25 PM.

  13. #53

    Thread Starter
    VBaholic & Loving It LaVolpe's Avatar
    Join Date
    Oct 2007
    Location
    GetWindowRect()
    Posts
    11,938

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    The project updated to include two new manifest sections for Vista and above.

    1) DPI aware declaration. By including this in the manifest, your app will not be subject to DPI virtualization. See this MSDN page for more information

    2) GDI+ v1.1 dependency. GDI+ v1.1 is available on Vista and above, VB will not use it by default without a .Local file or by requiring it in a manifest. There is a big caveat here. Including this in a manifest where the app will also be deployed on XP will prevent the app from loading when installed on XP. This is because GDI+ v1.1 is not available on XP. There is one exception. One known version of GDI+ v1.1 does work on XP, but the odds that it exists on every machine you want to deploy your app is extremely remote. Also, v1.1 is not redistributable.

    With the above GDI+ v1.1 warning supplied, there is a workaround where your app can use a manifest and load GDI+ v1.1 on Vista and above, but not try to load it on XP. Here's that workaround:

    - Create a manifest that includes the v1.1 dependency. Embed this manifest into a resource file so it is compiled with your application
    - Create a second, identical manifest that excludes the v1.1 dependency. Save it to file named exactly the same as your application but adding a .manifest extension.

    Now when you build your deployment package (i.e., setup.exe), you will include that manifest file too. When installing on XP, you must deploy that manifest file to the same folder as your application. When installing on Vista and above, you do not want to include that manifest file

    This is how the workaround works. On XP, external manifests override embedded manifests. On Vista and above it is the opposite behavior. However, there is a registry setting that can force the behavior to be same as XP. So, since the manifest file is deployed in XP and that file does NOT include the v1.1 dependency, your XP app will work just fine because the embedded manifest is overridden by the file. And by not deploying the file on Vista and above, you do not need to be concerned with it overriding the embedded manifest which does include the v1.1 dependency. On Vista and above, this concern only applies if that registry setting is set; otherwise external manifests do not override embedded manifests
    Last edited by LaVolpe; Jan 25th, 2012 at 03:39 PM.
    Insomnia is just a byproduct of, "It can't be done"

    Newbie? Novice? Bored? Spend a few minutes browsing the FAQ section of the forum. Read the HitchHiker's Guide to Getting Help on the Forums.
    Here is the list of TAGs you can use to format your posts


    {Alpha Image Control} {Memory Leak FAQ} {GDI+ Classes/Samples} {Unicode Open/Save Dialog} {Icon Organizer/Extractor}
    {VBA Control Arrays} {XP/Vista Manifest Creator} {UserControl Button Template} {stdPicture Render Usage}

  14. #54

    Thread Starter
    VBaholic & Loving It LaVolpe's Avatar
    Join Date
    Oct 2007
    Location
    GetWindowRect()
    Posts
    11,938

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    Applying the info in the previous reply, here is how you can run VB6 IDE using some manifest options

    The manifest below will tell Vista & above, that VB6 is DPI-aware, to use themed controls, and to use GDI+ v1.1, all of which, are optional and can be removed from the manifest. By placing a copy of this manifest in the same folder as VB6.exe, it will be used when VB6 is run. To stop it from being used, simply rename the manifest file to something else.
    FYI: Why care if v1.1 of GDI+ gets loaded instead of v1.0? Simply, you may be using custom controls that offer extra stuff if v1.1 is loaded. You may want to use v1.1 functions when on Vista+

    For XP: You will need to change the GDI+ version from 1.1.0.0 to 1.0.0.0 otherwise VB will not load if GDI+ v1.1 does not exist on the XP machine. The other sections and entries are fine.

    For Vista & above. I have noticed that when disabling the manifest by renaming it & then naming it back so it could be used, it seems to be ignored from time to time. There is some system caching going on and this is one way around it.

    a) Close any instances of VB6
    b) Right click on VB6.exe & select Properties
    c) Toggle the Compatibility option's checkbox
    d) Click the Apply button
    e) Toggle that Compatibility option's checkbox again
    f) Click the Ok button
    g) Re-start VB6, the manifest should now be effective once again

    This can be copied and pasted into a text document, then renamed to vb6.exe.manifest
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
      <assemblyIdentity
        version="6.00.9782.0"
        processorArchitecture="X86"
        name="Visual Basic"
        type="win32"
        />
      <description>Microsoft Corporation VB6</description>
        <dependency>
            <dependentAssembly>
                <assemblyIdentity
                    type="win32"
                    name="Microsoft.Windows.Common-Controls"
                    version="6.0.0.0"
                    processorArchitecture="X86"
                    publicKeyToken="6595b64144ccf1df"
                    language="*"
                 />
            </dependentAssembly>
        </dependency>
        <dependency>
            <dependentAssembly>
                <assemblyIdentity
                    type="win32"
                    name="Microsoft.Windows.GdiPlus"
                    version="1.1.0.0"
                    processorArchitecture="X86"
                    publicKeyToken="6595b64144ccf1df"
                    language="*"
                 />
            </dependentAssembly>
        </dependency>
    <!-- Identify the application as DPI-aware: Vista and above -->
      <asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
          <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
            <dpiAware>true</dpiAware>
          </asmv3:windowsSettings>
      </asmv3:application>
    </assembly>
    Last edited by LaVolpe; Jan 25th, 2012 at 07:37 PM.
    Insomnia is just a byproduct of, "It can't be done"

    Newbie? Novice? Bored? Spend a few minutes browsing the FAQ section of the forum. Read the HitchHiker's Guide to Getting Help on the Forums.
    Here is the list of TAGs you can use to format your posts


    {Alpha Image Control} {Memory Leak FAQ} {GDI+ Classes/Samples} {Unicode Open/Save Dialog} {Icon Organizer/Extractor}
    {VBA Control Arrays} {XP/Vista Manifest Creator} {UserControl Button Template} {stdPicture Render Usage}

  15. #55
    PowerPoster
    Join Date
    Feb 2006
    Posts
    11,046

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    I'm a little confused.

    I understand why you'd want to select the newer GDI+ assembly for programs written for Vista or later. But I assume that's because you want to use that version's newer capabilities.

    Since it doesn't exist in most cases in XP though, how can you just use the older assembly? Your calls wil fail?

    Or are you additionally expecting the program to be written to use error trapping around a "test call" to some 1.1 function to set a flag causing the program to skip using 1.1 calls from then on?


    Also, if some program is found fiddling with an important global registry setting like that one you mentioned I'd consider it malware. This isn't the reputation you want any of your software getting.

    As far as I can tell, the proper way to handle this sort of thing would be to avoid selecting this assembly via the manifest. Instead you could use the SxS calls after testing the version of Gdiplus.dll or the OS version.


    But I'm no GDI+ expert, and certainly not 1.0 vs. 1.1 literate. Not trying to drag this off topic, but I see:
    Note If you are redistributing GDI+ to a downlevel platform or a platform that does not ship with that version of GDI+ natively, install Gdiplus.dll in your application directory.
    I also see: http://www.microsoft.com/download/en...ng=en&id=18909

    But maybe that's just the 1.0 version of the library?

    I wouldn't put it in the application directory (bad, bad advice there with nasty potential consequences for VB6 programs) nor use a .local file (completely obsolete). But one can easily put it into a subdirectory of the application's directory to isolate it, and then have the manifest for the application redirect to it there.

    You use the loadFrom attribute of the <file> tag to do this, the value of this attribute is a relative or absolute path to the redirected, isolated library.
    Last edited by dilettante; Jan 25th, 2012 at 11:55 PM.

  16. #56
    PowerPoster
    Join Date
    Feb 2006
    Posts
    11,046

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    Sorry to crud up the thread.

    It does look like the redist Gdiplus.dll is a 1.0 "edition" (hate to call it "version" since the versioning is different from this) meant to go onto Win2K and such. There also seems to be an unrelated "1.1" that some versions of Office install into XP, but it isn't supposed to be generally usable.

    I had no beef with your last post until it started talking about hacking global registry settings. I still think there is a preferable way to do this, but I concede that they won't be of any help for the VB6 IDE. You have to use a manifest there, and for Vista+ programs that's a fine solution anyway.

    Things only start getting dicey if you want a program to use 1.1 after XP but still run in crippled (1.0) mode on XP.
    Last edited by dilettante; Jan 26th, 2012 at 12:10 AM.

  17. #57

    Thread Starter
    VBaholic & Loving It LaVolpe's Avatar
    Join Date
    Oct 2007
    Location
    GetWindowRect()
    Posts
    11,938

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    @ dilettante

    - Hacking registry. I wasn't supporting that at all, you misread my intentions. I wanted those interested to know that users (read pc owners) can override default behavior in Vista+. This information is useful to know if you expect your embedded manifest to always be used. Knowing this would also be helpful for troubleshooting

    - v1.1 of GDI+. In stuff I build, it is easy enough to test for the version. So I set a global flag. If the flag is set, other options are enabled in the software. If not, they are disabled. I have no knowledge of any function/method corrections between the two dlls, but if there were & there probably are, this would be another reason to want the newer version.
    Last edited by LaVolpe; Jan 26th, 2012 at 07:41 AM.
    Insomnia is just a byproduct of, "It can't be done"

    Newbie? Novice? Bored? Spend a few minutes browsing the FAQ section of the forum. Read the HitchHiker's Guide to Getting Help on the Forums.
    Here is the list of TAGs you can use to format your posts


    {Alpha Image Control} {Memory Leak FAQ} {GDI+ Classes/Samples} {Unicode Open/Save Dialog} {Icon Organizer/Extractor}
    {VBA Control Arrays} {XP/Vista Manifest Creator} {UserControl Button Template} {stdPicture Render Usage}

  18. #58
    PowerPoster
    Join Date
    Feb 2006
    Posts
    11,046

    Re: [VB6] XP/Vista/Win7 Manifest Creator

    I see what you mean. I've definately had people do this and break applications by substituting a bad file manifest. Lots of frustration trying to figure out what went wrong.

    As far as GDI+ 1.1 goes, as far as I can tell the main changes were moving a few operations out of GDI+ itself and into the DWM. Beyond that I've seen little.

    GDI was enhanced in Win7 to use hardware acceleration for a few things like blitting, while GDI+ has been left behind. The "way forward" is supposed to be Direct2D now. But not being a graphics guy I haven't messed with any of it in a meaningful way.

    It's all a rat's nest to me. I just hate wasting time debugging something caused by a registry tweak.

Page 2 of 2 FirstFirst 12

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Featured


Click Here to Expand Forum to Full Width

Survey posted by VBForums.