Windows 8, Windows Phone 8 Application size limits - windows-8

Is there any information available regarding application (xap) size limits for
Windows Phone 7 = 225MB
Windows Phone 7.8 = 225MB?
Windows 8 (Metro)
Windows Phone 8

The size limit for a Windows Phone 8 is 1GB according to 4.1.1 of the app submission requirements, found here. This was last updated a week ago (Dec 12, 2012). Nothing was specifically mentioned for WP7.8, so I assume it's still 225MB.

The size limit for a Windows 8 Metro style app package is 2GB. See Package Format Requirements. I do not believe there are any details out there yet about Phone 7.8 or Phone 8 in terms of XAP size.

Related

Excel VBA compatibility issues between Office 2013 + Win7 and Office 2013 + Win10

Say you have 10 users(numbers are arbitrary):
7 users use Windows 7 with Office 2013, both 32-bit
3 users use Windows 10 (64-bit) with Office 2013 (32-bit)
The Windows 10 users have 2 errors when trying to use a macro:
On opening the macro, they receive an error about a missing file on their system
When the form/controls begin to load, they receive a compile error message
The first error was fixed by removing a reference to Common Controls (mscomct2.ocx).
The second error is caused by ComboBoxes that are used as DatePickers. These ComboBoxes are not loaded at all on the Win10 systems.
cboFillerName = Date
The problem is that the macro works perfectly for the 7 users, but it doesn't work for any of the 3 users. The only difference between them is Windows 10.
So is there some API difference between the two operating systems that would cause this? Is it the mixture of Win10/Office 2013 (32-bit) that creates a convoluted scenario where ComboBoxes can't be used as Date Pickers?
I cannot provide any specific code, though I don't think that matters as this problem does not seem to be code related.

tester for HID devices

I have built my own USB HID device. I want to check, if it is working correctly.
I want to check the descriptors sent by the device, display input reports and send output reports. What tools are capable of this task and runs on Windows 7 64 bit?
On a day-to-day basis I use USBlyzer. It works well on Windows 7 64-bit.
As far as free tools go, the Windows DDK includes (in C:\winddk\7600.16385.1\tools\avstream\amd64) a tool called UVCview.exe ("USB device viewer") that shows at least some descriptor information.
You might also try Wireshark, but I admit, I only use it for network and can't speak to the quality of its USB capture.
(even though it's an old post) - here is a convenient and free solution:
Our Docklight Scripting software can test custom USB HID devices in the free (evaluation) download already, no time limit. Tested both on Windows 7 and Windows 10. You can access your device via the chosen VID and PID, display input report data and send output reports, even with variable output report ids.

Windows 8 "devcon -remove" issue

Running Windows 8 with 2 video cards, AMD/ATI 6870 + 4870. Windows 8 is disabling 48XX card seemingly random and for no reason that I have been able to see in the event viewer. My work around is uninstall in devmgmt.msc and rescan for hardware changes. It auto installs and works fine after for days.
Question is how to automate that process with devcon. Trying...
C:\Batch>devcon.exe listclass display
Listing 2 device(s) for setup class "Display" (Display adapters).
PCI\VEN_1002&DEV_6738&SUBSYS_E177174B&REV_00\4&1DCBFDE5&0&0010: AMD Radeon HD 6800 Series (Microsoft Corporation - WDDM v1.20)
PCI\VEN_1002&DEV_9442&SUBSYS_E810174B&REV_00\4&24DEEBC4&0&0018: ATI Radeon HD 4800 Series (Microsoft Corporation - WDDM v1.1)
C:\Batch>devcon.exe remove =display *HD 4800*
No devices removed.
Doesn't remove the adapter. Not sure what I am missing to get this to work. I don't work with devcon very much and just wanted to make a batch to speed this "fix".
You can't use adapter name as an id for devcon.
Use, for example, device id: devcon.exe remove =display *DEV_9442*.

Is there a free way to distribute free Windows 8 apps?

I'm considering developing a free non-enterprise Windows 8-style application. I would like to be able to distribute it with no fees charged to myself or users. (Please not that I am not asking about Windows 7-style desktop applications.)
From Microsoft Community, it seems that the only way to distribute these types of applications is using Windows Store. In fact, since the removal of the term, metro, it appears to me that one of the replacement phrases is Windows Store Apps, which clearly implies a strong association with Windows Store.
The licence agreement for the store appears to support distributing free applications. However, I've also read that there is no (permanently) free way to use the store as a developer. (See this, for example.) Microsoft does appear to market some 'free' methods to do this, but they appear to be first-year-free subscriptions that still require credit card details for subsequent years.
I have already looked at and considered the following Stack Overflow questions about this:
How to Distribute Compiled Windows 8 Metro Applications without Windows Store?
This question appears to be in the context of using pre-release Windows 8 before the store was available.
How to install a Windows 8 App Without Submitting to Store
This appears to be related to enterprise users and applications.
How can I distribute a free Windows 8 application without having to pay for a Windows Store developer account?
You cannot. A store account is required to distribute applications in the Windows Store; however, there are programs in which that cost ($49 per annum for a individual developer) is absorbed, such as MSDN subscriptions and BizSpark.
Sideloading (as mentioned in the first link you provided) remains possible, but requires (and automatically provisions) a free 'developer' account to run it.
Sort of.
What you do is you go to the Store menu, and hit "build store package." When it asks you whether you want to build something for store, you hit no.
You will be presented with a directory that contains a .sh1 script, which you can then use to install the application.
The downside is, this requires enterprise windows or a (free) developers' license to install. So it's not general population adequate.
Now, I should point out that .EXEs still work just fine the old way. There is only an impediment if you mean Modern UI applications.

How to detect OS of Win7 Home Premium, Win7 Professional, Win7 Enterprise or Win7 ultimate?

How to detect OS of Win7 Home Premium, Win7 Professional, Win7 Enterprise or Win7 ultimate?
Determine Windows Version and Edition
Check this post Detect OS version and see if it helps. This is for XP but it should help you little bit.
Check this one too http://andrewensley.com/2009/06/c-detect-windows-os-part-1/ and this one is for Vista.
I'm using the key "Edition" under HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion to determine windows version, I don't know if it's unique? Thanks.
EditionID = ultimate
EditionID = Enterprise
EditionID = Professional
EditionID = Premium
He tagged the question with win32 api.
GetVersionEx() et al. is what you need. See this code sample for a more in depth example.
In Delphi I would use this method for Windows XP and above, it seems to be the most straight forward and this registry key should always exist
var
Reg : TRegistry
begin
Reg := TRegistry.Create();
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('Software\Microsoft\Windows NT\CurrentVersion', false);
Caption := Reg.ReadString('ProductName');
Reg.Free;
end
You will need to include Registry as a unit in your app
Try WMI: host localhost, namespace root\cimv2 (these are the defaults) SELECT Caption FROM Win32_OperatingSystem
Using approach like checking the version number is incorrect in my opinion. I was reading an article about best practices (lost the link) and it clearly said never use these version numbers which microsoft may change in future updates to detect windows version.
Windows Vista is version 6.0 and Windows 7 is 6.1 which ideally should have been 7. This is not a reliable at all.
A better way is to check the existance of features which are particular to each version of windows. For ex, in windows vista/7 home basic you would not find aero experience. Same way ultimate edition comes with bitlocker etc and home premium doesnt.
MSDN will detail what features are available in each version and how to query if its available. Based on this you can decide what is the base version of windows. Also you can use to query version info from the system dlls to detect exact windows build date etc.
With windows 7 new DLLs have been added in the system32 as compared to vista. So when you search for particular dlls you would know if its windows 7 system or old versions like xp/vista.
You can use GetVersionEx to determine the core OS version, but this method gets messy faced with multiple products which use a common core, and I don't think you can programatically decode this information down to the level of a particular SKU. The best you could get away with is finding a string and letting the user see that. Some simple OSVERSIONINFOEX mappings are shown in the remarks section of the docs here
Read this Microsoft blog posting for current thinking on this topic. Basically it comes down to using GetProcAddress to look for the API you're trying to use and degrading gracefully.
I came here looking for the same thing but for powershell and found this as the easiest:
(gwmi -class Win32_OperatingSystem).name
Which returns a line like:
Microsoft Windows 7 Enterprise |C:\Windows|\Device\Harddisk0\Partition2
if you want version numbers etc., use a verbose form like
gwmi -class Win32_OperatingSystem | FL *
and pick out what you need