Windows Anytime Upgrade and Family Pack Pricing

July 31, 2009 by  
Filed under News

Most people buy a PC preinstalled with the edition of Windows that meets their unique needs. However, for some customers their needs may change over time.

Windows Anytime Upgrade

With Windows Anytime Upgrade (or WAU), we make it super easy and convenient for the small number of customers who’s PC needs evolve to need a higher edition of Windows 7.

There are a couple of specific situations where we think WAU will prove useful:

Windows 7 Starter to Windows 7 Home Premium

Windows 7 Starter to Windows 7 Home Premium: $79.99

A customer may purchase a netbook thinking they would use primarily it for email. Over time, they find they are using that netbook as their primary every-day PC. That person decides they want their netbook to do more. If the netbook is running Windows 7 Starter (or Windows 7 Home Basic in select markets), WAU makes it super easy to upgrade to Windows 7 Home Premium. Moving to Windows 7 Home Premium will allow that customer to take advantage of features such as Aero Peek and other enhanced functionality in the Windows Taskbar in Windows 7 such as Taskbar Previews. Desktop themes are also enabled and so is Remote Media Streaming.

Windows 7 Home Premium to Windows 7 Professional Windows 7 Home Premium to Windows 7 Ultimate

Windows 7 Home Premium to Windows 7 Professional: $89.99
Windows 7 Home Premium to Windows 7 Ultimate:
$139.99*

* You’ll note that we’ve reduced the price of moving from Home Premium to Ultimate 12% in the US as compared to Vista pricing

Another case where WAU may come in handy is when a person wants the ability to connect to a business network (a “domain”). Using WAU to move up to Windows 7 Professional enables the customer to take advantage of the ability to join a domain and use Windows XP Mode to run older programs. When using WAU to move to Windows 7 Ultimate, you’ll get everything from the other editions plus BitLocker to keep your USB devices encrypted and secure and the ability to run your PC in any of 35 different languages (via Language Packs).

After Windows 7 is released to market on October 22nd, you will be able to buy a retail package that contains an upgrade key at a store near you for any of the 3 paths I highlighted above.

If you live in Australia, Belgium, Canada, France, Germany, Italy, Japan, the Netherlands, Spain, Sweden, Switzerland, the UK or the US (13 countries) – you will be able to purchase the upgrade from Microsoft online directly within Windows 7.

Whether you buy a WAU retail package from a store or online directly within Windows 7, the upgrade takes as few as ten minutes. This is because it only requires an upgrade key (no media). Your current programs, files, and settings will remain intact.

For a rundown of the Windows Anytime Upgrade experience, click here.

Now let’s talk about the Windows 7 Family Pack. Last week I confirmed we were doing a family pack for Windows 7 consisting of Windows 7 Home Premium for installation on up to 3 PCs.

Family Pack of Windows 7 Home Premium

Today, most homes have more than one PC in them. When you run Windows 7 on more than one PC on a home network, you can do more with features like HomeGroup. HomeGroup allows people to connect to PCs on their network and share files, music and photos with the whole family – easily. The Windows 7 Family Pack is an easy and affordable way to get all your PCs in your household running Windows 7 through licensing to install Windows 7 Home Premium on up to 3 PCs.

The Windows 7 Family Pack will be available starting on October 22nd until supplies last here in the US and other select markets. In the US, the price for the Windows 7 Family Pack will be $149.99 for 3 Windows 7 Home Premium licenses. That’s a savings of more than $200 for three licenses. This is a great value and we’re excited to be able to offer it to customers.

VN:F [1.0.8_357]
Rating: 0.0/10 (0 votes cast)

Windows 7 Beta and Release Candidate Update

July 31, 2009 by  
Filed under News

I just wanted to take a moment and post a few quick reminders.

As always, your key source for Discovering, Exploring, Piloting, Deploying and Managing Windows 7 are available on Springboard at www.microsoft.com/springboard.

For the latest tips and trick, follow us on Twitter at @MSspringboard

VN:F [1.0.8_357]
Rating: 0.0/10 (0 votes cast)

Partner Software Ecosystem Continues to Line Up to Support Windows 7

July 31, 2009 by  
Filed under News

Hi, Mark Rogers here. I run the Software Ecosystem Team here at Microsoft. Building on Mike’s recent post on overall ecosystem readiness, I wanted give you a quick update on our progress helping developers get ready to serve the hundreds of millions of users of Windows with our next release.

We listened carefully to our partners on every continent, except maybe Antarctica, and overhauled our online content and tools for Windows 7. Millions of developers have been visiting the Windows Developer Center to take advantage of code samples, white papers, and tools. The team recently released the Windows 7 RC Training Kit for developers- which includes presentations, hands-on labs, and demos. Al Gillen recently released a whitepaper on Windows 7 and why developers should be considering this product now.

I also wanted to take a moment and highlight a new contest for developers called the Windows 7 Code Contest. The Windows 7 Code Contest is a worldwide contest recognizing and rewarding professional and hobbyist developers for applications showing off the features in Windows 7. Developers can prepare to innovate and Code to the Power of Windows 7! To sign up, developers can go here: www.Code7Contest.com. We made it easy to submit with short videos and submissions are already flowing in - I look forward to seeing what you come up with!

It’s exciting to see that, even before Windows 7 ships, we’re seeing software partners deliver products that are better with Windows 7 by taking advantage of new features. Here are a few examples.

Windows Touch and multi-touch features provide a natural, intuitive way for users to interact with PCs. Companies such as Roxio, Corel, and Cegid are all enabling Windows Touch in their applications. Roxio has been developing a range of applications and services designed for Windows 7 that use the full capabilities of our platform. Personally - my favorite is Roxio PhotoShow Touch. Here is what Michael Demeyer, Vice President of Corporate Products from Sonic Solutions, says about Windows 7 and Windows Touch:

We’re seeing new opportunities combining the power of online services with new features in Windows 7 such as Windows Touch. Our new PhotoShow Touch application on Windows 7 allows us to create an immersive and engaging experience for creating and editing slideshows with the touch of a finger. The new technology in Windows 7 has enabled us to shorten our time to market and expand our business as customers experience our new software first hand.

On the commercial side, we have Cegid Group who is integrating the desktop functionality, new functions, features, and gadgets of Windows 7 with its Cegid Business ERP product lines. Cegid takes advantage of the new Jump Lists, Search functions, and Windows Touch to connect people and information throughout the enterprise. ­Pierre Dianteill, Director of Marketing at Cegid Group, talks about early integration of Windows 7 in their products:

Cegid and Microsoft have a profound and long standing partnership providing both enterprise applications and vertical solutions to our mutual customers, world-wide. Cegid is a Microsoft Gold Partner and a consistent early adopter of Microsoft technologies. The early integration of Windows 7 within the Cegid Business ERP product lines demonstrates our on-going commitment to offer Microsoft based solutions delivering business value and competitive advantage to our customers.

Corel is taking advantage of new features in Windows 7 to deliver new and exciting ways for consumers to interact with creative software. New products in the works will support the newest features of Windows 7. Joe Roberts, Executive Vice President of Products at Corel, discusses bringing people closer to their content with Corel products and Windows 7:

Looking at the Windows 7 Release Candidate, one thing is absolutely clear — Microsoft has it right. With the introduction of Windows Touch technology, Corel has the opportunity to design an entirely new generation of consumer graphics and digital media applications that will enable users to create in more personal and exciting ways. We believe the user should always be at the center of the creative process. With the hands-on capabilities in Windows 7, we’re now able to foster more natural, connected interactions between people and their content, whether it is a favorite photo, video or digital painting.

Sensor and Location API’s in Windows 7 offer a platform for using sensor devices, such as light sensors or GPS sensors, to create environmental or location awareness in programs. FullArmor delivered a software-plus-services offering called PolicyPortal which utilized Windows Azure services for scale, and used sensor APIs in Windows 7 for location based tracking for theft deterrence and management, reducing hardware requirements and training, which directly reduced the cost of deploying the solution. Here is what Danny Kim, CTO of FullArmor, has to say about their products and Windows 7:

Our goal with Windows 7 is to help our customers reduce costs and extend the Windows platform to provide greater value. Our solution, PolicyPortal, is a service that runs on Windows Azure to manage laptops running all flavors of Windows Client, including Windows 7. We believe the combination of PolicyPortal on Windows Azure, and Windows 7 is a great combination to lower costs for our customers while increasing functionality.

Absolute took advantage of the Windows 7 Sensor and Location API for their flagship IT asset management and computer security solution Computrace. With geolocation capability, customers can see current and historical locations of their devices plotted on a map within the Absolute Customer Center. Tim Parker, Vice President of Research and Development for Absolute Software talks about working to ensure Computrace works with Windows 7 at launch:

Absolute has worked with Microsoft to ensure our Computrace suite of products works with Windows 7 at launch. And we’ve taken advantage of its Sensor and Location API to speed the development time required to bring new, innovative computer tracking solutions to our customers.

Software and hardware companies are also taking advantage of Shell Integration to be more discoverable, informative and interactive. Nuance is leveraging new technology in Windows 7 to revolutionizing the way people scan, search, edit and store paper. Windows 7 lets Nuance make scanning easy and accessible – just a click away within Windows Explorer. Nuance PDF Converter lets us make converting from paper or PDF into Microsoft Office formats as easy as a single click with Jump Lists, and makes it possible to search and find scanned documents as easy and as integrated as searching your Microsoft Office files. Here is what Robert Weideman, Senior Vice President and General Manager of Nuance’s Document Imaging Division, says:

Since 1999, Nuance and Microsoft have partnered to help users and organizations overcome barriers to productivity cause by paper. With Windows 7 we have dramatically magnified the benefits of that partnership, to the benefit of all users. Scanning has never been so easy, converting documents never so valuable, and the user experience never so compelling.  The combination of Nuance imaging applications on Windows 7 will make everyone believe in the Green Office.

The best part of my job is seeing all the new investment in Windows 7! There are many other partners getting ready for Windows 7 - please visit www.readyset7.com to learn more or simply see what they are saying here.

VN:F [1.0.8_357]
Rating: 0.0/10 (0 votes cast)

Sony Executive Weighs in on Windows 7

July 30, 2009 by  
Filed under News

Xavier Lauwaert here. We at Sony are excited to welcome the arrival of Windows 7 with its performance, ease of use and connectivity innovations. Indeed, pre-release reviews and engineering investigations show that Windows 7 is in line with industry needs and end user requests for an operating system that is leaner, faster, easier to use and more connected.

These last months we have been working with Microsoft to ensure that not only the operating system but also our PCs create a symbiotic effect whereby end user usage models are optimized. The end result is an improvement in day-to-day life performance as well as simply making the PC more fun to use. We live in a very PC-centric and connected world and Windows 7 addresses both these needs.

With households increasingly switching from desktops to notebooks and even having more than one PC, the concept of mobility and connectivity increases in importance. At the same time, Windows 7 is built on a solid foundation. Be it a netbook or a mainstream notebook, we expect to deliver unprecedented performance and connectivity options through Windows 7. Faster boot up times, improved battery life and the ability to stream your contents through the “Play To” feature will not only make the PC omnipresent but Windows 7 will also bring content “to life”.

Windows 7 will provide new solutions and expectations and we look forward to leveraging this release on our platforms.

Xavier Lauwaert
Senior Manager Product Marketing at Sony

VN:F [1.0.8_357]
Rating: 0.0/10 (0 votes cast)

Google Calendar Invoice Creator

July 29, 2009 by Windows7info  
Filed under Downloads

07/29/09 - Create your invoice from your Google Calendar appointments.

VN:F [1.0.8_357]
Rating: 0.0/10 (0 votes cast)

File Furnace

July 29, 2009 by Windows7info  
Filed under Downloads

07/29/09 - Remove the unnecessary files and folders from your desktop.

VN:F [1.0.8_357]
Rating: 0.0/10 (0 votes cast)

Express Assist

July 29, 2009 by Windows7info  
Filed under Downloads

07/29/09 - OE backup, restore & synchronize utility

VN:F [1.0.8_357]
Rating: 0.0/10 (0 votes cast)

Managing Windows 7 with DISM

July 29, 2009 by  
Filed under News

This week I am proud to feature guest blogger Justin Rodino. He is a Microsoft Desktop Experience MVP and a member of our STEP (Springboard Technical Experts Panel) program. His own blog is available here. This weeks guest blogger topic is on the new DISM tool. A great way to make deploying and maintaining Windows 7 images easier.

What is DISM

DISM – the Deployment Imaging Servicing and Management Tool is a new part of Windows 7 that has been created to help you manage (and deploy) images with greater ease. Previous versions of Windows included tools such as:

  • ImageX – a tool which allowed you to mount offline images
  • Pkgmgr – A device driver and package manager
  • PEImg – A WindowsPE Utility to prepare images once edited with pkgmgr
  • Intlcfg – An International Settings Configuration Tool

All of the above tools have very specific feature sets, but using these makes modifying and changing the created images very cumbersome. The first problem naturally was which tool to use when.  Once you figured this out, you had to go through a series of steps in order to get the image mounted – of which you could only do “offline” – and when completed you had to recompile or re-make the new image you wished to deploy.  With DISM, all of these tools become one and even better – you can do certain things to an “online” or live image.  What we’re going to do is take a quick look at DISM, get some information about our current installation as well as service it, whilst using it.

Starting DISM

The first thing we need to do in order to run DISM is have an elevated command prompt open.  Simply going Start –> Run –> cmd –> Enter won’t do the trick as that runs with user privileges.  What we need to do is either do Start –> Run –> Cmd –> Shift+CTRL+Enter or Click on Start type cmd and when it appear in the search box, right click on it and choose “Run as Administrator”:

1 (2)

Once we’ve got the elevated command prompt open – we can check this by looking in the task bar and the title should be prefixed by “Administrator:

2 (2)

Now if we type “dism” we should get help about dism.  If you get the message:

Error: 740

Elevated permissions are required to run DISM.
Use an elevated command prompt to complete these tasks.

Then you didn’t successfully get a command prompt with elevated privileges open.

Finding Basic Information With DISM

Now that we’ve got our command prompt ready for action, we can find some basic information about the OS we’re currently running. At the prompt type:

dism /online /Get-CurrentEdition

This tells dism we want to use the current version (/online) and the command – similar to PowerShell – tells dism we want to get information about the current edition (/Get-CurrentEdition).  Proving successful the results should return something like:

Deployment Image Servicing and Management tool
Version: 6.1.7100.0

Image Version: 6.1.7100.0

Current edition is:

Current Edition : Ultimate

The operation completed successfully.

Now let’s take it one step further.  As there are different versions of Windows 7 available, we have the potential to upgrade.  If we run dism (referencing the online image - /online) with /Get-TargetEditions, it will tell us what versions we can upgrade to (if at all possible).  So, if I run

dism /online /Get-TargetEditions

against a machine that is already running Windows 7 Ultimate, DISM should return:

Deployment Image Servicing and Management tool
Version: 6.1.7100.0

Image Version: 6.1.7100.0

Editions that can be upgraded to:

(The current edition cannot be upgraded to any target editions.)

The operation completed successfully.

So, scripting the above can prove useful if we need to interrogate or find information about our existing machine or its capabilities.

Changing the System with DISM

As well as querying the system for information, one of the most powerful features of DISM is its capability to “service” an “online” or live image.  This allows us the capability to change the OS on the fly.  For example, Windows 7 ships with numerous games and features installed that we might not want as part of our corporate build.  Using the functionality built in to DISM – whilst the OS is running – we can remove these features.

First, let’s look at what is installed and what we can change.  To do this, at the prompt we need to type:

dism /online /Get-Features | more

Again, we reference the current version (/online) and we use the command /Get-Features to show us the currently installed features.  The “| more” simply paginates the output so we can see it without having to scroll.  If we look through the list some of the features we want to remove can be seen:

….

Feature Name : FreeCell
State : Enabled

Feature Name : Minesweeper
State : Enabled

Feature Name : PurblePlace
State : Enabled

….

As the state of these currently shows “Enabled” we want to remove or disable them.  Using DISM, we can easily do this.  At the prompt we can type:

dism /online /Disable-Feature /FeatureName:<NAME GOES HERE>

Where we simply replace <NAME GOES HERE> with the feature from the list of results we got using /Get-Features.  NOTE: The features are CaSe SEnSItivE.  As an example, if we wanted to remove PurblePlace, we could simply enter:

dism /online /Disable-Feature /FeatureName:PurblePlace

at which time DISM will kick in and should return results like the following:

Deployment Image Servicing and Management tool
Version: 6.1.7100.0

Image Version: 6.1.7100.0

Disabling feature(s)
[==========================100.0%==========================]
The operation completed successfully.

Let’s now check to see if it was disabled:

dism /online /Get-FeatureInfo /FeatureName:PurblePlace

Deployment Image Servicing and Management tool
Version: 6.1.7100.0

Image Version: 6.1.7100.0

Feature Information:

Feature Name : PurblePlace
Display Name : Purble Place
Description : Purble Place
Restart Required : Possible
State : Disabled

Custom Properties:

(No custom properties found)

The operation completed successfully.

As we can see “State : Disabled” means we’ve disabled it.  Should we want to re-enable it, we can simply type:

dism /online /Enable-Feature /FeatureName:PurblePlace

At which time DISM will put the feature back on the machine in a similar way it removed it:

Deployment Image Servicing and Management tool
Version: 6.1.7100.0

Image Version: 6.1.7100.0

Enabling feature(s)
[==========================100.0%==========================]
The operation completed successfully.

Conclusion

As you can see DISM is a very powerful tool and the introduction of online/live servicing makes it even more useful to the IT professional.  To get more information about DISM or any of its functions or capabilities, use the /? flag when you get stuck.  Some examples include:

  • “dism /?” – which will tell you about the root level capabilities
  • “dism /online /?” – which will tell you about the online image servicing capabilities
  • “dism /online /Get-Features /?” – which will tell you about the Get-Features function

And from there, the sky’s the limit.  Happy DISM’ing.

VN:F [1.0.8_357]
Rating: 0.0/10 (0 votes cast)

Windows 7 Taskbar Dynamic Overlay Icons and Progress Bars

July 29, 2009 by  
Filed under News

We covered the basics of the Windows 7 Taskbar in Developing for the Windows 7 Taskbar – Application ID, and how you can create a Jump List for your application in Developing for the Windows 7 Taskbar – Jump into Jump Lists – Part 1, Part 2, and Part 3). In this post, we will explore how you can leverage the cool Taskbar functionality of dynamic overlay icons and multi-state progress bars.

A central Windows 7 tenet is that the "User Is in Control"; that is, we empower users to take ownership of their desktop looks and functionality. From little things, like allowing users to arrange their Taskbar icons as they see fit, to enabling users to control the number of icons on the Taskbar. Windows 7 “removed” the System Tray Icon area. By default, almost all the tray icons are concealed. Consequently, it is safe to assume that large number of the notification balloons will also not be visible and most users will not see them. You can read more about the updates to the Notification Area here. To compensate for this lack of notification, Windows 7 Taskbar offers Overlay Icons and Progress Bars. By using overlay icons and progress bars, your application can provide contextual status information to the user in spite of the lack of a System Tray Icon area and even if the application’s window does not display. The user doesn’t even have to look at the thumbnail or the live preview of your app – the Taskbar button itself can reveal whether you have any interesting status updates. This functionality is part of our commitment to provide users with easily accessible information about an application’s status without any extra clicking.

Overlay Icons

The ITaskbarList4 interface, specifically its SetOverlayIcon function, exposes the native overlay functionality. The function takes a window handle, an icon handle, and optional description text, as you can see in the following code snippet.

HICON hIcon = NULL; // for IDM_OVERLAY_CLEARhIcon = LoadIcon(g_hInstance, MAKEINTRESOURCE(IDI_OVERLAY1));// Set the window's overlay icon, possibly NULL valueg_pTaskbarList->SetOverlayIcon(hWnd, hIcon, NULL);if (hIcon) {// need to clean up the icon as we no longer need itDestroyIcon(hIcon);}

Make sure you obtain ITaskbarList3 *g_pTaskbarList = NULL;as we did before, and CoCreate it:

CoCreateInstance(    CLSID_TaskbarList,     NULL,     CLSCTX_INPROC_SERVER,     IID_PPV_ARGS(&g_pTaskbarList));

When running the above code in the proper context (you can download the application) the result looks like the following pictures. On the left, you see the application without any overlay icons, and on the right you can see the application with a red icon overlay.

image The managed wrapper for this feature resides in the Taskbar class that is part of the Windows API Code Pack for the .NET Framework. All that you need to do is use the OverlayImage property (Taskbar.OverlayImage). Simply call:

Taskbar.OverlayImage =         new OverlayImage(TaskbarDemo.Properties.Resources.Red, "Red");

Doing so allows you to provide an OverlayImage for the taskbar button. The TaskbarDemo project is a WinForms demo, and you can find the above code in the TaskbarDemoMainForm.cs.

It’s equally easy to provide an extension method that does this to a WPF Window. Note that the only thing that you need to do is get the right icon, which is easy using .NET resources.

Progress Bars

If you already use a standard progress bar in your application’s top level window, the DMW will pick it up and, by default, display its progress as an overlay on top of your application. However, you can programmatically control the progress bar behavior on your application’s icon.

The native functionality is again found in the ITaskbarList3 interface, this time in the SetProgressState and SetProgressValue functions. The functions are quite self-explanatory. You can set the progress bar’s state (SetProgressState) to, for example, indeterminate or error, and use SetProgressValue to set the progress value. The following code snippet illustrates how to use these functions:

case WM_TIMER:    g_nProgress++;    if (g_nProgress == 1)    {        // First time through, so we'll set our progress state        // to be indeterminate - this simulates a background         // computation to figure out how much progress we'll need.        g_pTaskbarList->SetProgressState(hWnd, TBPF_INDETERMINATE);    }    else if (g_nProgress == MAX_PROGRESS_IND)    {        // Now set the progress state to indicate we have some         // normal progress to show.        g_pTaskbarList->SetProgressValue(hWnd, 0, MAX_PROGRESS_NORMAL);        g_pTaskbarList->SetProgressState(hWnd, TBPF_NORMAL);    }    else if (g_nProgress > MAX_PROGRESS_IND)    {        if (g_nProgress - MAX_PROGRESS_IND <= MAX_PROGRESS_NORMAL)        {            // Now show normal progress to simulate a background             // operation            g_pTaskbarList->SetProgressValue(                                hWnd,                                 g_nProgress - MAX_PROGRESS_IND,                                 MAX_PROGRESS_NORMAL);        }        else        {            // Progress is done, stop the timer and reset progress             // state            KillTimer(hWnd, g_nTimerId);            g_nTimerId = 0;            g_pTaskbarList->SetProgressState(hWnd, TBPF_NOPROGRESS);            MessageBox(hWnd, L"Done!", L"Progress Complete", MB_OK);        }    }    break;

Note that on the first timer tick, we set the progress bar to TBPF_INDETERMINATE, and only after that did we set it to TBPF_NORMAL, which set the progress indicator to grow in size from left to right in proportion to the estimated amount of the operation completed.

For managed code, we use the Windows Code Pack API. Much like the native progress bar, the managed code Taskbar class includes a progress bar property (it is in its own a class), which allows you to set current value, max value, and statethe progress bar state. The progress bar states (found in the TaskbarButtonProgressState class) are:

  • NoProgress –equal to the TBPF_NOPROGRESS native state
  • Indeterminate –equal to the TBPF_INDETERMINATE native state
  • Normal –equal to the TBPF_NORMAL native state
  • Error –equal to the TBPF_ERROR native state
  • Paused –equal to the TBPF_PAUSED native state

You can find a WinForms demo in the TaskbarDemo project and in the TaskbarDemoMainForm.cs, you can find the UpdateProgressBar function that is called by a timer to update the progress bar.

Taskbar.ProgressBar.State =     (TaskbarButtonProgressState)Enum.Parse(            typeof(TaskbarButtonProgressState),             (string)comboBoxProgressBarStates.SelectedItem);

if (Taskbar.ProgressBar.State != TaskbarButtonProgressState.Indeterminate)    Taskbar.ProgressBar.CurrentValue = progressBar1.Value;

As you can see, the code enables you to choose the state of the progress bar. Changing it to the error state turns the color of the progress bar on the Taskbar Icon to red.

The icing on the Taskbar progress bar "cake" is that you get this functionality FOR FREE if you use the standard progress dialog for file operations. (As we advance in this series, you’ll see that you get lots of functionality for free if you follow the standard guidelines of Windows programming.) For example, if you invoke a file operation using the SHFileOperation API or IFileOperation interface, the Taskbar button progress bar automatically displays the progress information (including errors) of that operation. This is what Windows Explorer does with great success.

Original post from Sasha Goldstein

VN:F [1.0.8_357]
Rating: 0.0/10 (0 votes cast)

STDU Viewer

July 28, 2009 by Windows7info  
Filed under Downloads

07/28/09 - View multiple document formats using a single app.

VN:F [1.0.8_357]
Rating: 6.0/10 (1 vote cast)

Next Page »