Welcome to MSDN Blogs Sign in | Join | Help

Visual C++ 2008 Feature Pack Released!

The final release of the Visual C++ 2008 Feature Pack is now available for download.  This release provides several exciting features for C++ developers, such as a major update to MFC and an implementation of TR1.  These features are fully covered under Microsoft’s standard support policies.  

 

The Feature Pack is available free of charge to any Visual Studio 2008 Standard or above customer. The download can be found at http://www.microsoft.com/downloads/details.aspx?FamilyId=D466226B-8DAB-445F-A7B4-448B326C48E7&displaylang=en 

 

Using the included MFC components, developers can create applications with the “look & feel” of Microsoft’s most popular products – Microsoft Office, Visual Studio and Internet Explorer.  Some of the interesting MFC components in the Feature Pack include:

 

·         Office 2007 Ribbon Bar:  Ribbon, Pearl, Quick Access Toolbar, Status Bar, etc.

·         Office 2003 and XP look:  Office-style toolbars and menus, Outlook-style shortcut bar, print preview, live font picker, color picker, etc.

·         Visual Studio look:  sophisticated docking functionality, auto hide windows, property grids, MDI tabs, tab groups, etc.

·         Internet Explorer look:  Rebars and task panes

·         Vista theme support

·         “On the fly” menus and toolbar customization:  users can customize the running application through live drag and drop of menu items and toolbar buttons

·         Shell management classes:  use these classes to enumerate folders, drives and items, browse for folders and more

 

More information on our new MFC support can be found at the sites below:

 

       MFC documentation & walkthroughs   http://msdn2.microsoft.com/en-us/library/bb982354.aspx    

       Channel 9: New Updates to MFC          http://channel9.msdn.com/showpost.aspx?postid=355087

 

TR1 (“Technical Report 1”) is a set of proposed additions to the C++0x standard.  Our implementation of TR1 contains a number of important features such as smart pointers, regular expression parsing, containers (tuple, array, unordered set, etc) and sophisticated random number generators.

 

More information on TR1 can be found at the sites below:

 

       TR1 documentation                        http://msdn2.microsoft.com/en-us/library/bb982198.aspx

       Channel 9: Digging into TR1           http://channel9.msdn.com/showpost.aspx?postid=385821

       TR1 slide decks (recommended)    http://blogs.msdn.com/vcblog/archive/2008/02/22/tr1-slide-decks.aspx            

        

This Feature Pack is only supported on systems which have the English language (ENU) version of Visual Studio 2008 Standard Edition or above installed. Support for systems with non-English versions of Visual Studio 2008 installed will be available with Visual Studio 2008 Service Pack 1.

 The documentation for this feature pack has already been added  to MSDN online and will be included with the local MSDN documentation with SP1.

 

Enjoy all this new functionality!

 

Thanks,

Visual C++ Development Team

Published Monday, April 07, 2008 5:37 AM by vcblog

Comments

Monday, April 07, 2008 9:17 AM by SvenC

# re: Visual C++ 2008 Feature Pack Released!

Can we control which runtime the automatically created manifest will reference? I would like my old VC++ 2008 projects to keep using the crt and mfc dlls of the RTM version and only use the new runtimes when I have new projects which use the new functionality.

--

SvenC

Monday, April 07, 2008 9:18 AM by Mathias

# re: Visual C++ 2008 Feature Pack Released!

Great ! looking forward to try it out.

There is just a couple of things I cant find any information about.

If we Install this Feature Pack.

- How will this effect existing MFC application ? Can I still build apps to the MFC that currently is in VS2008 ?

- If we are already using BCGSoft's BCGControlBar library. Will we get any conflict ?

- Is it possible to just use the new STL (tr1) stuff and keep the standard vs2008 MFC ?

Monday, April 07, 2008 10:40 AM by TomC

# re: Visual C++ 2008 Feature Pack Released!

I would like to deploy dynamically linked apps using Installshield.  I will need merge modules for the new library files.

Are they available?

Monday, April 07, 2008 10:42 AM by Dave Johansen

# re: Visual C++ 2008 Feature Pack Released!

I think that this is an exciting release, but it should be made available to Express edition users as well. Maybe the MFC components can't be released to the Express edition, but the TR1 stuff definitely should be.

Monday, April 07, 2008 10:45 AM by Tom Kirby-Green

# re: Visual C++ 2008 Feature Pack Released!

This is great news Kudos to the team. Now what I'd really like to see is a couple of MSDN Magazine articles that cover the new MFC additions (TR1 stuff I can find from 'Standards' sources).

Monday, April 07, 2008 10:52 AM by Nacereddine

# What about existing app which use BCG Pro ?

I use BCG Pro in my app years ago,

but with this update how can i upgrade it ? any tutorial to do so ?

Monday, April 07, 2008 11:11 AM by jus

# re: Visual C++ 2008 Feature Pack Released!

Great! Thanks!

Is it planned to release a Feature Pack for WinForms? It would be great to add a Ribbon to a WinForm application as well.

Monday, April 07, 2008 11:58 AM by bkchung's WebLog

# Visual C++ 2008 Feature Pack RTWed!

Visual C++ Team Blog : Visual C++ 2008 Feature Pack Released! Download details Visual C++ 2008 Feature

Monday, April 07, 2008 12:03 PM by Leo Davidson

# re: Visual C++ 2008 Feature Pack Released!

Any plans for Win32 API versions of those controls (which don't already have Win32 API versions, of course)? Not everyone uses/likes MFC, and MFC can use native controls, so it seems a shame that they are made for MFC rather than native Win32 API (with an optional thin MFC wrapper for those who want it).

TR1 does look useful, so thanks for that. It's great to see things being added to the C++ support quickly now.

Monday, April 07, 2008 12:07 PM by .NET o no .NET, esa es la cuestión

# Visual C++ 2008 Feature Pack en la calle

¿Recordáis esta entrada mía: Visual C++ 2008 Feature Pack ? Pues ya es oficial, ya está en la calle la

Monday, April 07, 2008 12:39 PM by Jared

# re: Visual C++ 2008 Feature Pack Released!

Does anyone know exactly what has changed since the pre-released Feature Pack?

Monday, April 07, 2008 12:51 PM by Pavel Minaev

# re: Visual C++ 2008 Feature Pack Released!

Congratulations! Now at last, with both gcc and MSVC providing TR1 official implementations, we can consider TR1 to be mainstream.

Now back to waiting for C++09 - I sure hope you guys will roll out that one soon after the spec is finalized!

Monday, April 07, 2008 2:36 PM by Nacereddine

# Not as great as BCG !!!

Some components from BCG are missing, /*always Microsoft forget some thing of interting in the lib*/. What about the Grid, the Calender and other intertings things, i can't use this feautre pack unless it's complete (and i guess that others do the same).

Monday, April 07, 2008 3:02 PM by SvenC

# re: Visual C++ 2008 Feature Pack Released!

Hi Nacereddine,

what do you think would become of BCG when Microsoft would include the complete library? Nobody would buy it anymore and they would be dead. So ofcourse BCG will sell an advanced version of the library with more controls.

And I would say you are bit thankless: Microsoft is giving you extra controls for free and you say "Uhh, that is not enough, give me more!"

If you want more, than buy the product from BCG or its competitors (codejock, prof-uis). They are not that expensive.

--

SvenC

Monday, April 07, 2008 3:08 PM by Ayman Shoukry

# re: Visual C++ 2008 Feature Pack Released!

Using the feature pack, developers can still develop application with the older look & feel of MFC.

Thanks,

Ayman Shoukry

Monday, April 07, 2008 3:10 PM by Ayman Shoukry

# re: Visual C++ 2008 Feature Pack Released!

Hi Tom,

We are targeting to have MSDN articles released soon.

Thanks,

Ayman Shoukry

Monday, April 07, 2008 3:31 PM by Martin

# re: Visual C++ 2008 Feature Pack Released!

Hi, unfortunately installation fails on an English language system which have different regional settings. I've English Vista x64  and an English language VS2008 Team Developer Edition. My user account's regional settings are set to German. Setup fails with an error message after extracting file, but before showing the setup GUI. It works after switching Vista's regional settings to en-us.

Monday, April 07, 2008 4:24 PM by Chris

# re: Visual C++ 2008 Feature Pack Released!

Hi,

I'm afraid that installation crashes on a german vista with an english VS2008. Can anybody help?

Monday, April 07, 2008 4:43 PM by Stephan T. Lavavej [MSFT]

# re: Visual C++ 2008 Feature Pack Released!

[Mathias]

> Is it possible to just use the new STL (tr1) stuff and keep the standard vs2008 MFC ?

Yes - there is no interaction between TR1 and MFC.  Using TR1 doesn't force you to use the updated MFC (or MFC, period).

No - you can't patch TR1 without also patching MFC.

[TomC]

> I would like to deploy dynamically linked apps using Installshield.  I will need merge modules for the new library files.

> Are they available?

They are indeed part of the Feature Pack.

[Dave Johansen]

> I think that this is an exciting release, but it should be made available

> to Express edition users as well. Maybe the MFC components can't be

> released to the Express edition, but the TR1 stuff definitely should be.

TR1 is integrated into VC9 SP1 and VC10.

[Jared]

> Does anyone know exactly what has changed since the pre-released Feature Pack?

Lots and lots of bugfixes. For example, in the Beta, linking together two source files that each included <tuple> would fail with "multiply defined symbols". We fixed that thanks to Beta feedback.

Stephan T. Lavavej

Visual C++ Libraries Developer

Monday, April 07, 2008 4:47 PM by Chris

# re: Visual C++ 2008 Feature Pack Released!

Sorry, forgot to mention: Installation crashes before showing setup UI. Switching regional settings to en-us (thanks Martin!) won't work either. It seems that there is a problem of loading a resource dll. The exact error message is: Unable to load UI satellite DLL SPInstallerResources.1031.dll

Thanks!

Chris

Monday, April 07, 2008 5:07 PM by empkeydotcom

# re: Visual C++ 2008 Feature Pack Released!

not worth to get happy. those such libraries make improve GUI only, not the inside quality.

bad job of MS.

Monday, April 07, 2008 5:32 PM by John

# Missing IA64 libraries!

The feature pack is missing updates to the IA64 libraries.  The odd thing is that an updated vcredist_IA64.exe is available.

Monday, April 07, 2008 9:17 PM by Norman Diamond

# re: Visual C++ 2008 Feature Pack Released!

"The Feature Pack is available free of charge to any Visual Studio 2008 Standard or above customer."

Is not.  Read the page:  'Support for systems with non-English versions of Visual Studio 2008 installed will be available in Visual Studio 2008 Service Pack 1.'  Now will that come out this year?

Monday, April 07, 2008 9:28 PM by lviolette

# Redistributables not updated correctly in Feature Pack.

I've installed the Feature Pack and noticed that in the redist folder, my manifest files didn't get updated.

For example, in the following folder:

E:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.MFC

The manifest file Microsoft.VC90.MFC.manifest contains version 9.0.21022.8 and is dated last November (when I install VS 2008).  However, mfc90.dll details property page contains:

9.0.30304.0

Seems to me that this is a problem and you can't use the redist packages as is.

Anyone else notice this?

One other (possibly important) detail:

Prior to loading this feature pack, I installed VS patches from KB944899 and KB946581.

Monday, April 07, 2008 11:32 PM by younker

# re: Visual C++ 2008 Feature Pack Released!

Where can I download the documentation for this feature pack, I don't want to always use the online help when I am need help for this new stuff.

Tuesday, April 08, 2008 5:05 AM by Mikael Pahmp

# re: Visual C++ 2008 Feature Pack Released!

There was a promise back in time that this feature pack was to be made available for Visual Studio 2005 as well. Is this still true?

Tuesday, April 08, 2008 5:11 AM by Anonymous

# re: Visual C++ 2008 Feature Pack Released!

Installation doesn't work here (VS2008 Pro English, Vista x64 German), but I could send an error report. Fails with unknown error even after a fresh reboot.

Tuesday, April 08, 2008 5:30 AM by Peter Ross

# re: Visual C++ 2008 Feature Pack Released!

What about completing the ISO C 99 support?

Tuesday, April 08, 2008 11:14 AM by Ayman Shoukry

# re: Visual C++ 2008 Feature Pack Released!

Answering couple of the questions:

1) The feature pack is focused on x86 & x64

2) We are investigating the installation issues, some folks tried changing the locale to English and the installation then worked (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3130795&SiteID=1 might help).

Thanks,

Ayman Shoukry

Tuesday, April 08, 2008 12:24 PM by Pat Brenner

# re: Visual C++ 2008 Feature Pack Released!

==================================

[Mathias]

> If we are already using BCGSoft's BCGControlBar library. Will we get any conflict ?

No, you will not get any conflict.  All of the classes have been renamed so there should

be no name conflicts with any of the BCGSoft classes.

==================================

[Nacereddine]

> I use BCG Pro in my app years ago,

> but with this update how can i upgrade it ? any tutorial to do so ?

We do not have a tutorial on upgrading from using the BCGSoft libraries to using MFC.

In many cases you just need to change the class names--many of the method names remain

the same.  We may look into providing a mapping from BCGSoft to MFC class names.

==================================

[Leo Davidson]

> Any plans for Win32 API versions of those controls (which don't already have Win32 API versions, of course)?

> Not everyone uses/likes MFC, and MFC can use native controls, so it seems a shame that they are made for MFC

> rather than native Win32 API (with an optional thin MFC wrapper for those who want it).

MFC will continue to wrap any new Windows controls, so if Windows includes controls that have similar

functionality to the MFC controls, there will be wrappers available so you can choose between using

the Windows control and the MFC control.

==================================

[John]

> The feature pack is missing updates to the IA64 libraries.

> The odd thing is that an updated vcredist_IA64.exe is available.

The IA64 versions of the MFC libraries and runtimes are still at the RTM level.

They do not include the feature pack updates to MFC.

==================================

[Mikael Pahmp]

> There was a promise back in time that this feature pack was to be made available for Visual Studio 2005 as well.

> Is this still true?

I don't know of any plans to release a feature pack for VS2005 that would include this new support.

==================================

Pat Brenner

Visual C++ Libraries Development

Tuesday, April 08, 2008 12:45 PM by Samsa

# re: Visual C++ 2008 Feature Pack Released!

What about the offline documentation for this feature pack? Any plans or release dates for this? It would be very helpful! Thanks...

Tuesday, April 08, 2008 3:30 PM by Ayman Shoukry

# re: Visual C++ 2008 Feature Pack Released!

For documentation, for the feature pack, the docs will be online. Once we roll the features into SP, the offline docs will include such info.

Thanks,

Ayman Shoukry

Tuesday, April 08, 2008 3:36 PM by SvenC

# re: Visual C++ 2008 Feature Pack Released!

I am still interested in my initial question: can we control what kind of manifest will be generated, so that our executables can either have manifests for the RTM version of the crt, mfc or the new runtimes of the feature pack.

I found no documentation if after installing the feature pack we can still build executables which run with the rtm version of crt and mfc.

Thanks,

SvenC

Tuesday, April 08, 2008 4:29 PM by vcblog

# re: Visual C++ 2008 Feature Pack Released!

Re: Monday, April 07, 2008 9:28 PM by lviolette

# Redistributables not updated correctly in Feature Pack.

The workaround is to change the manifest version from 9.0.21022.8 to 9.0.30304.0 (on my machine found under C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist) in the *.manifest files for MFC and CRT.

Thanks

George and Damien

Tuesday, April 08, 2008 4:53 PM by Cluebat-man to the rescue

# VC2008 feature pack released

Tuesday, April 08, 2008 5:01 PM by KariG

# re: Visual C++ 2008 Feature Pack Released!

It seems that you also need to have administrator privileges in order to install this.  The error message is a bit cryptic: 0x80070643

Tuesday, April 08, 2008 6:29 PM by Leo Davidson

# re: Visual C++ 2008 Feature Pack Released!

> MFC will continue to wrap any new Windows controls, so if Windows includes controls that have

> similar functionality to the MFC controls, there will be wrappers available so you can choose

> between using the Windows control and the MFC control.

I was asking for the opposite. :) I don't want to be forced to use MFC to get these new controls. I find that MFC makes very easy projects slightly easier (and I use it for throwing together very simple GUI apps), but for anything complex MFC actually gets in the way and makes things more difficult, not less.

If the Visual C++ team are going to invest in GUI controls it would be nice if they were available to all Visual C++ developers, not just those using MFC. Of course, it's easy to turn a Win32 control into an MFC object so you can please both groups of people by writing/buying Win32 controls and wrapping them in MFC. With an MFC-only control, however, it's not easy to convert it into a non-MFC control.

Of course, anything is better than nothing; I'm just saying that controls like these would be useful to many more people if they were not tied to MFC. I also understand that the controls were bought from a 3rd party and maybe there simply were no non-MFC alternatives.

Tuesday, April 08, 2008 6:59 PM by S. Colcord

# re: Visual C++ 2008 Feature Pack Released!

I'd very much like to use this, but I have some concerns about the licensing.  If I install the feature pack, will I have to agree to the Fluent UI licensing terms?  If not, is it clear which features of the feature pack do and do not require additional licensing, so that I don't inadvertently use a feature that then imposes extra licensing requirements on me?

Tuesday, April 08, 2008 11:13 PM by tom

# re: Visual C++ 2008 Feature Pack Released!

I wish to update my current MFC 8.0 project and replace some 3rd-party code with Feature Pack CMFC* classes.

But there's one question, Can it be deployed to Win 2000 after my upgrade? a more general question is: what OSes are supported by applications developed with MFC9.0+Power Pack?

Thanks.

Wednesday, April 09, 2008 3:09 AM by Ann Zhou

# re: Visual C++ 2008 Feature Pack Released!

You can deploy to Win 2000 after upgrading your project to the Feature Pack. The OS support is the same as VS2008. However the new features are not avaiable on the IA64 platform. TR1 will be available on the IA64 platform in VS2008 SP1.

Wednesday, April 09, 2008 4:06 PM by Pat Brenner

# re: Visual C++ 2008 Feature Pack Released!

[S. Colcord]

> If I install the feature pack, will I have to agree to the Fluent UI licensing terms?

You only have to agree to the Fluent UI licensing terms if you are creating an application that uses the Fluent UI components (aka the ribbon UI) in MFC.

Wednesday, April 09, 2008 7:17 PM by S. Colcord

# re: Visual C++ 2008 Feature Pack Released!

[Pat Brenner]

> You only have to agree to the Fluent UI licensing terms if you are creating an application that uses the Fluent UI components (aka the ribbon UI) in MFC.

Thanks, Pat.  Our application is an MFC app, so I'm trying to make sure that a developer can't easily use a Fluent UI component without intending to.  Are the classes comprising the Fluent UI components denoted as such, by being in a separate namespace, or requiring a special compiler flag or #include to use?

Thursday, April 10, 2008 1:35 AM by Bill

# re: Visual C++ 2008 Feature Pack Released!

Installation package is a peace of crap. After 10 minutes and progress bar frozen somewhere at 75% it returned with "fatal error"

From the log file:

MSI (c) (C8:F8) [22:25:12:187]: MainEngineThread is returning 1603

-------------------------------------------

VS Team: you have no rights to release such a junk even if junk is just an installation routine but not the content.

Thursday, April 10, 2008 1:53 AM by vcblog

# re: Visual C++ 2008 Feature Pack Released!

There was a question earlier about adding MFC to the Express edition.  While we won't be able to do this in the short term, our goal is to include MFC into the next major release of Express.

Bill Dunlap

Visual C++ Development Team

Thursday, April 10, 2008 9:47 AM by Cory Nelson

# intrin.h problem!

Get this error in 32-bit compiles with the TR1 update installed:

1>c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\intrin.h(204) : error C2373: '_InterlockedCompareExchange' : redefinition; different type modifiers

1>        c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\memory(994) : see declaration of '_InterlockedCompareExchange'

Ouch!  The newer Windows SDK caused some problems like this with VC++ 2005, but 2008 fixed them.  Now it happens again, but within VC++ itself!

Thursday, April 10, 2008 1:48 PM by Cory Nelson

# intrin.h repro & fix

you can reproduce the bug by compiling your project with __fastcall.

this occurs because <memory> declares it as __cdecl while intrin.h doesn't specify.

quick fix?  remove the __CLRCALL_PURE_OR_CDECL bit from line 994.

Thursday, April 10, 2008 3:32 PM by Stephan T. Lavavej [MSFT]

# re: Visual C++ 2008 Feature Pack Released!

Cory Nelson:

Thanks for reporting this. I've added your repro to our internal bug "<memory> should include <intrin.h>".

Stephan T. Lavavej

Visual C++ Libraries Developer

Thursday, April 10, 2008 4:24 PM by Mr.MFC

# re: Visual C++ 2008 Feature Pack Released!

I installed the release version on top of beta. Now, I get compile errors in New Controls project (I haven't tried others yet). Following are a few of many. Seems like the sample files are not updated based on changes to the release version.

c:\program files\microsoft visual studio 9.0\samples\c++\mfc\visual c++ 2008 feature pack\newcontrols\customproperties.cpp(288) : error C2065: 'm_bValueIsTrancated' : undeclared identifier

c:\program files\microsoft visual studio 9.0\samples\c++\mfc\visual c++ 2008 feature pack\newcontrols\customproperties.cpp(338) : error C2065: 'globalData' : undeclared identifier

c:\program files\microsoft visual studio 9.0\samples\c++\mfc\visual c++ 2008 feature pack\newcontrols\customproperties.cpp(338) : error C2228: left of '.clrTextHilite' must have class/struct/union

Thursday, April 10, 2008 6:21 PM by Ayman Shoukry

# re: Visual C++ 2008 Feature Pack Released!

Hi Mr.MFC,

I just tried the sample myself and it seems to compile with no errors. Have you tried installing after uninstalling the beta?

Let me know if the sample still doesn't compile with you.

Thanks,

Ayman Shoukry

Thursday, April 10, 2008 6:31 PM by Pat Brenner

# re: Visual C++ 2008 Feature Pack Released!

[Mr.MFC]

>I installed the release version on top of beta. Now, I get compile errors in New Controls project.

Did you make sure to un-ZIP the new versions of the sample source?  The samples are installed as a ZIP file which you have to un-ZIP.

Thursday, April 10, 2008 6:31 PM by humptydumpty

# thanks!

thank you! I've been using BCG for years and years, love it. This is nice for those apps that don't need *all* the bcg features. A step in the right direction for sure. Much appreciated!

Thursday, April 10, 2008 6:40 PM by Pat Brenner

# re: Visual C++ 2008 Feature Pack Released!

[S. Colcord]

>Are the classes comprising the Fluent UI components denoted as such, by being in a separate namespace, or requiring a special compiler flag or #include to use?

No, there is no separation via namespace.  Basically, if you are not using any of the CMFCRibbon* classes, you are probably not using the fluent UI.

Note that the license is a no-cost, royalty-free licence which is obtained via a simple click-through agreement on the Office UI site.

Friday, April 11, 2008 1:54 PM by S. Colcord

# re: Visual C++ 2008 Feature Pack Released!

[Pat Brenner]

> No, there is no separation via namespace.  Basically, if you are not using any of the CMFCRibbon* classes, you are probably not using the fluent UI.

Thanks, Pat.  FWIW, I think that without such a separation, a lot of developers will use those classes without realizing the legal implications.  The above guideline is helpful, but I think that company lawyers are going to want something more definite.

To clarify why this is a concern, Microsoft is saying "If you use the Fluent UI, you need a license", but I haven't found an clear definition of what constitutes "Using the Fluent UI".  Without a clear definition, the license requirements create a lot of FUD, since a developer can't tell whether they need a license or not.

> Note that the license is a no-cost, royalty-free licence which is obtained via a simple click-through agreement on the Office UI site.

The issue isn't the cost; it's that the license incorporates the Fluent UI design guidelines as legal requirements.  Depending on the application, the costs of making it conform to those requirements could be prohibitive.

Friday, April 11, 2008 6:28 PM by vcblog

# re: Visual C++ 2008 Feature Pack Released!

Re: Monday, April 07, 2008 9:17 AM by SvenC

# re: Visual C++ 2008 Feature Pack Released!

[Updated: a more accurate answer than the previous posting]

Yes, you can control it:

By default any projects depend on RTM bits. To make them depend on the feature pack set _BIND_TO_CURRENT_CRT_VERSION to 1 and /or _BIND_TO_CURRENT_MFC_VERSION to 1

Thanks

George and Damien

Friday, April 11, 2008 6:30 PM by Granville Barnett

# Something I let pass me by - VC++ TR1 released

If you have been using the Boost libraries then you will probably not see anything major that's not already

Monday, April 14, 2008 9:37 AM by Mr.MFC

# re: Visual C++ 2008 Feature Pack Released!

[Pat Brenner]

>Did you make sure to un-ZIP the new versions of the sample source?  The samples are installed as a ZIP file which you have to un-ZIP.

Thanks, I didn't realize that. I also changed globalData to afxGlobalData, in older examples with success.

On other issues:

I had posted during beta testing about a bug in menu button and got a response from a VC team member that they added to the bug list. The release version still has the same problem of not disabling an item of the menu button. I do the following and expect the specified item to be disabled and no notifications of click:

m_menu.LoadMenu(IDR_MENU1);

CMenu *pSubMenu=m_menu.GetSubMenu(0);

if(pSubMenu)

{

 pSubMenu->EnableMenuItem(1,FALSE);

 m_btnMenu.m_hMenu = pSubMenu->GetSafeHmenu();

}

Since a Grid class is not supplied, I requested for some suggestion on Somasegar's blog. Perhaps I should have posted it here:

>Hi Pat/VC++ Team,

>Could you recommend some third party Grid controls that are easy to work with in MFC? I have been using the MSFlexgrid ActiveX control since VS97, but is not supplied with VS 2008.

Thanks,

Sri

Monday, April 14, 2008 10:35 AM by Rebecca

# Thanks! But problem including <random>

I'm very happy to see the new BCG controls.  But I'm trying to test out the random number generation that is part of TR1, and no dice.

If I create a new MFC project from scratch, accept the default settings, then use

#include <random>

anywhere, I get 117 errors and 6 warnings, (listed at the end).  Since I'm doing all this from scratch with the default settings, I think this is a bug.

errors/warning beginning with:

1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(32) : warning C4229: anachronism used : modifiers on data are ignored

1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(32) : error C2365: 'operator new' : redefinition; previous definition was 'function'

1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(32) : error C2491: 'new' : definition of dllimport data not allowed

1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(32) : error C2078: too many initializers

1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(32) : error C2440: 'initializing' : cannot convert from 'int' to 'void *'

1>        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast

1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(32) : error C2143: syntax error : missing ';' before '('

1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(32) : error C2226: syntax error : unexpected type 'size_t'

1>c:\program files\microsoft visual studio 9.0\vc\include\xdebug(33) : error C2059: syntax error : ')'

Monday, April 14, 2008 11:03 AM by Big E

# re: Visual C++ 2008 Feature Pack Released!

Ok, so I installed a fresh copy of VS2008, followed by the MFC Feature Pack. Everything installs fine (though it took forever and a day).

I run through the new MFC app wizard, and make a few basic style decisions, etc. I'm just looking to see how the BCGSoft classes run, after all (compared to the CodeJock libs we've been using). So I hit F5 to compile and run, and....

It doesn't work. Immediately, I get assertions in one of the new MFC/BCGSoft Ribbon classes, followed by a "failed to create empty document" error. I haven't added a single line of code, mind you - just the default output from the MFC wizard.

Terribly impressive.

Monday, April 14, 2008 2:02 PM by Ayman Shoukry

# re: Visual C++ 2008 Feature Pack Released!

Hi Big E,

Could you let us know what kind of changes you made so that we can reproduce the issue on our side.

Feel free to send me the project straight ahead at aymans at microsoft dot com

Thanks,

Ayman Shoukry

Monday, April 14, 2008 2:07 PM by Pat Brenner

# re: Visual C++ 2008 Feature Pack Released!

[Big E]

> It doesn't work. Immediately, I get assertions in one of the new MFC/BCGSoft Ribbon classes...

Sorry to hear that the wizard is not creating a viable application for you.  Rest assured that we tried to make the wizard as robust as possible, but there are literally hundreds or thousands of combinations of options.  Can you let me know specifically which combinatino of options you selected in the wizard so I can reproduce the problem and fix it?  Thanks!

Pat Brenner

Visual C++ Libraries Development

Monday, April 14, 2008 2:33 PM by Big E

# re: Visual C++ 2008 Feature Pack Released!

> Could you let us know what kind of changes you made so that we can reproduce the issue on our side.

I'm actually not touching anything when this happens. As I stated originally, I'm just running through the MFC app wizard.

I'm choosing almost all the default values, with the exception of the first page of the wizard. There, I choose the following:

Application type: Single document

Document / View architecture: enabled

Resource language: English

Use unicode libs: enabled

Project sytle: Office

Visual style and colors: Office 2007 (Blue theme)

Enable visual style switching: enabled

Use of MFC: Use MFC in a static lib

On every subsequent page of the wizard, I just go with the default values. Once complete, I build the application (rebuild all) and hit F5.

This results in an assertion firing on line 3891 of afxribbonbar.cpp, which is this line:

ENSURE(str1.LoadString(AFX_IDS_ONEPAGE));

The ENSURE macro then throws an unhandled exception that terminates the app.

I haven't yet tried any other project types.

Hope that helps.

Monday, April 14, 2008 4:31 PM by Stephan T. Lavavej [MSFT]

# re: Visual C++ 2008 Feature Pack Released!

[Rebecca]

> But I'm trying to test out the random number

> generation that is part of TR1, and no dice.

When you create a new MFC project, it "helpfully" adds "#define new DEBUG_NEW" (see http://msdn2.microsoft.com/en-us/library/tz7sxz99.aspx ).

However, this is incompatible with the Standard (and TR1) headers. Paragraph 17.4.3.1.1/2 [lib.macro.names] of the C++ Standard states:

"A translation unit that includes a header shall not contain any macros that define names declared or defined in that header. Nor shall such a translation unit define macros for names lexically identical to keywords."

(When the Standard says "header", it means the Standard headers like <vector>. The Standard uses "source file" to refer to everything else, including files that end with .h or .hpp and that get #included. This is different from ordinary terminology.)

What 17.4.3.1.1/2 is saying is very reasonable - you're not allowed to stomp on the Standard headers with macros. Unfortunately, that's exactly what "#define new DEBUG_NEW" does. The result is horrible compiler errors.

Within an MFC project, you can include <random> (and other Standard and TR1 headers), as long as you do so from "clean" source files - that is, source files that don't define "macros for names lexically identical to keywords" (and so forth) either before OR after the Standard/TR1 headers are included. (Be careful of PCHs that drag in such macros.)

Stephan T. Lavavej

Visual C++ Libraries Developer

Monday, April 14, 2008 6:24 PM by Rebecca

# re: Visual C++ 2008 Feature Pack Released!

Thanks, Stephan - I appreciate the info.  Works now.

Monday, April 14, 2008 8:30 PM by Norman Diamond

# re: Visual C++ 2008 Feature Pack Released!

'When you create a new MFC project, it "helpfully" adds "#define new DEBUG_NEW" (see http://msdn2.microsoft.com/en-us/library/tz7sxz99.aspx ).

However, this is incompatible with the Standard'

My questions here are academic until VS2008 SP1 comes out, but please say if I understand correctly.

(1) A workaround is to delete the line "#define new DEBUG_NEW".

(2) This is a bug in the wizard which might be a fix or might be a won't fix for VS2008 SP1.

By the way, is there a target yet for which year most language versions of VS2008 SP1 might be released?

Monday, April 14, 2008 9:11 PM by Stephan T. Lavavej [MSFT]

# re: Visual C++ 2008 Feature Pack Released!

[Norman Diamond]

> (1) A workaround is to delete the line

> "#define new DEBUG_NEW".

Yes, insofar as that stops stomping on the Standard/TR1 headers. I'm not sure how that affects the MFC side of things. (The danger here is presumably using the MFC leak tracking in some translation units and not in others, leading to heap corruption when they pass pointers to each other. It does appear that the MFC leak tracking is optional, according to MSDN - the new project wizard is simply enabling it by default. So, if you really get rid of all occurrences of this macro, you should be fine.)

> (2) This is a bug in the wizard which might be a

> fix or might be a won't fix for VS2008 SP1.

According to my understanding, the wizard has always done this, and it's always opened up the 17.4.3.1.1/2 can of worms - TR1 just happens to trigger actual breakage.

(IIRC, other Standard Library headers attempt to defend themselves against "new" being macro-ized - but if you ask me, we should actually detect and #error when any keywords are macros, rather than defending against it. We do defend against "min" and "max" being macros, but that's because <windows.h> defines them.)

"#define new DEBUG_NEW" is operating by design, and the wizard is enabling it by design. The design just happens to be extremely unfriendly to the Standard headers. (As co-maintainer of the headers being stomped on, this is not my favorite macro.)

> By the way, is there a target yet for which year

> most language versions of VS2008 SP1 might be

> released?

I'm not sure what you're asking. VC9 SP1 (any language) has not yet been released, and I don't think we've talked about release dates yet (although we certainly have them in mind).

I can say that it is not yet too late to get fixes for Horrible TR1 (and MFC) Bugs into VC9 SP1, *if* they are reported promptly enough (and the bugs are horrible enough, and the fixes safe enough, etc.).

Thanks,

Stephan T. Lavavej, Visual C++ Libraries Developer

Tuesday, April 15, 2008 8:42 PM by Norman Diamond

# re: Visual C++ 2008 Feature Pack Released!

>> By the way, is there a target yet for which year most language versions of VS2008 SP1 might be released?

> I'm not sure what you're asking. VC9 SP1 (any language) has not yet been released

The English language version of VS2008 SP1 might not be urgent, I don't know.  Other language versions are comparatively more urgent, because of the promise that the VC++2008 Feature Pack will not be released until SP1.  Therefore I asked if there's any target on what year we'll get them.

Tuesday, April 15, 2008 10:27 PM by Ayman Shoukry

# re: Visual C++ 2008 Feature Pack Released!

Hi Norman,

I don't believe there were any dates published yet regarding VS2008 SP1. I will make sure to post those dates as soon as I have them.

Thanks,

Ayman Shoukry

Wednesday, April 16, 2008 12:49 PM by Pat Brenner

# re: Visual C++ 2008 Feature Pack Released!

[Big E]

> I'm actually not touching anything when this happens. As I stated originally, I'm just running through the MFC app wizard.

Thanks for clarifying the repro steps for the wizard bug you've been seeing.  We did find this in our testing, but too late for the Feature Pack release.

There is a simple work-around, which is to include afxprint.rc along with afxribbon.rc in the RC file for your wizard-generated project.

Thursday, April 17, 2008 10:55 AM by Richard Webb

# re: Visual C++ 2008 Feature Pack Released!

I've tried running the Boost regression tests against the release feature pack, and while a lot of the problems from the Beta have

been fixed, there are still a few left:

-Random:

One of the Random tests is failing (http://tinyurl.com/5lt4u7) because of a missing "seed(integer-type s)" member function in xor_combine.

When i mentioned this on the Boost list, it was thought that this was a 'bug' in TR1 due to Table 16 saying that all random number

engines should have that member, but the description of xor_combine not mentioning it.

However, the TR1 spec is also missing this seed member from discard_block, and i see that the feature pack implementation contains it

anyway. So, is the missing function from xor_combine an oversight?

-Regex:

One of the Regex tests is failing (http://tinyurl.com/6ktl8c) due to a problem with a char_class_type typedef.

When i asked about this on the Boost list, the response was that it looks like a feature pack bug:

http://article.gmane.org/gmane.comp.lib.boost.devel/173685

-Bind:

There are some Bind failures (http://tinyurl.com/5edo35) due to a missing member result_type definition.

Anyone got any thoughts?

I can raise bugs on Connect if they are considered bugs on the feature pack side.

Thanks,

Richard Webb

Thursday, April 17, 2008 5:08 PM by Greg M

# re: Visual C++ 2008 Feature Pack Released!

I have been using the beta release of the service pack for the last few months and have successfully update my VC 6.0 programs. I like the new looks.

HoweverI just downloaded and installed the new service pack and now I am getting compile errors such as:

afxcontrolbar.h(25) : error C2084: function 'BOOL IsStandardCommand(UINT)' already has a body

afxcontrolbarutil.h(24) : see previous definition of 'IsStandardCommand'

afxcontrolbar.h(54) : error C2011: 'CMemDC' : 'class' type redefinition

afxcontrolbarutil.h(54) : see declaration of 'CMemDC'

afxbasetabbedpane.h(108) : error C2143: syntax error : missing ';' before '*'

afxbasetabbedpane.h(108) : error C2433: 'CBaseTabbedPane::CMFCAutoHideBar' : 'virtual' not permitted on data declarations

It seems like the new service pack did not install properly over the beta. Any suggestions on how to correct this without completely reinstalling Visual Studio 08 and then running the feature pack install? This would take hours. Is it possible to uninstall the feature packs only?

Thanks

Thursday, April 17, 2008 9:39 PM by Stephan T. Lavavej [MSFT]

# re: Visual C++ 2008 Feature Pack Released!

[Richard Webb]

> I've tried running the Boost regression tests

> against the release feature pack

Awesome! Your bug reports from running the tests against the Feature Pack Beta were really helpful.

> So, is the missing function from xor_combine an

> oversight?

That appears to be the case. (It doesn't help when the TR1 spec contains thinkos.)

We're trying to conform to TR1 + obvious thinko fixes + selected C++0x backports, and this appears to fall under "obvious thinko fix".  Please file a Connect bug for this.

> One of the Regex tests is failing

> (http://tinyurl.com/6ktl8c) due to a problem with a

> char_class_type typedef.

Our std::tr1::regex_traits<T>::char_class_type is a typedef for int. TR1 7.2/4 requires that char_class_type be a bitmask type, and [lib.bitmask.types] C++03 17.3.2.1.2/1 explains that "Each bitmask type can be implemented as an enumerated type that overloads certain operators, as an integer type, or as a bitset".

Can you explain what the conformance problem is here? I don't understand what the Boost test is complaining about.

> There are some Bind failures

> (http://tinyurl.com/5edo35) due to a missing member

> result_type definition.

This is a known bug, but it was discovered too late (Feb 7) to be fixed in the Feature Pack. The internal bug number is Dev10.391723.

Feel free to E-mail me directly (stl@microsoft.com) if you encounter any other issues.

Thanks!

Stephan T. Lavavej

Visual C++ Libraries Developer

Sunday, April 20, 2008 6:12 AM by Richard Webb

# re: Visual C++ 2008 Feature Pack Released!

> Please file a Connect bug for this.

Done (http://tinyurl.com/6qgcqa).

>Can you explain what the conformance problem is here?

Theres a confirmation on whats happening @

http://article.gmane.org/gmane.comp.lib.boost.devel/174032

Basically, the Boost test is using the VC9 basic_regex along with a Boost traits class, and it's failing because the traits class uses a bitset for char_class_type, which the VC9 basic_regex can't handle.

The same post also contains a simple example of an apparent problem in tr1::result_of.

The code:

typedef int (&func_ref)(float, double);

typedef std::tr1::result_of<func_ref(float,double)>::type result_type;

Doesnt compile with the feature pack result_of, but is fine with the Boost version.

Thanks,

Richard Webb

Tuesday, April 22, 2008 4:56 PM by John Shroe

# re: Visual C++ 2008 Feature Pack Released!

Using the Feature Pack in Visual Studio 2008  (<regex> library) I am getting the following linker error:

error LNK2019: unresolved external symbol "void __cdecl std::tr1::_Destroy(class std::tr1::_Node_base *,enum std::tr1::_Node_type)" (?_Destroy@tr1@std@@YAXPAV_Node_base@12@W4_Node_type@12@@Z) referenced in function "public: virtual __thiscall std::tr1::_Node_assert::~_Node_assert(void)" (??1_Node_assert@tr1@std@@UAE@XZ)

When I was using the beta distribution of the Feature Pack I was getting no linker errors.

Tuesday, April 22, 2008 4:59 PM by John Shore

# re: Visual C++ 2008 Feature Pack Released!

If I comment out the following line, the linker error disappears:

using std::tr1::regex;

using std::tr1::regex_replace;

...

//regex rgx("[^\\d]*");

So, this is associated with the regex constructor which takes a const string. If I use the default constructor, the linker error disappears, also.

Tuesday, April 22, 2008 8:47 PM by Stephan T. Lavavej [MSFT]

# re: Visual C++ 2008 Feature Pack Released!

[John Shroe]

> error LNK2019: unresolved external symbol "void __cdecl std::tr1::_Destroy(

Somehow, you're using the Feature Pack Beta headers with the Feature Pack RTW (Release To Web, i.e. final) binaries.  std::tr1::_Destroy() in Beta was renamed to std::tr1::_Destroy_node() in RTW, in order to fix a memory leak.

Installing the Feature Pack RTW over the Feature Pack Beta isn't supported. You have to uninstall the Feature Pack Beta (which I am told is robust) before installing the Feature Pack RTW.

Thanks,

Stephan T. Lavavej, Visual C++ Libraries Developer

Monday, May 12, 2008 2:08 PM by Visual C++ Team Blog

# Visual Studio 2008 Service Pack Beta now available

We are very excited to announce that Microsoft Visual Studio 2008 SP1 Beta is now available for download.

Monday, May 26, 2008 6:51 PM by 3glabs

# re: Visual C++ 2008 Feature Pack Released!

once I compiled the program use vc2008 mfc, it will use .net framework 3.5 and will installed about more 50MB .net framework library. It's very bad and anoyed.

I test it in vista platform, it also need install .net framework 3.5!

Microsoft should deploy .net framework 3.5 themselves or don't need .net framework 3.5 if I compiled use vc2008 mfc.

How can I remove the .net framework 3.5 depend library, I hate to install more 50MB files.

Monday, May 26, 2008 6:54 PM by 3glabs

# re: Visual C++ 2008 Feature Pack Released!

Also missing much class in vc2008, like catlregexp, cdllcache etc.

I don't know why missing them, and if I need it, where can I get those class files?

Monday, August 11, 2008 2:49 PM by Visual C++ Team Blog

# Visual Studio 2008 Service Pack 1 RTM Now Available

Today we are pleased to announce that Microsoft Visual Studio 2008 Service Pack 1 (SP1) is now available

Tuesday, August 12, 2008 2:17 AM by Dariusz quatscht

# Mehr zu VS 2008 & .NET 3.5 SP1

Nachdem meine Ankündigung gestern eher spartanisch ausgefallen ist, möchte ich heute noch ein paar Links

New Comments to this post are disabled
 
Page view tracker