Wise Package Studio 8 & .NET 4 Framework
Updated: 10 Jan 2011 | 7 comments
This issue has been solved. See solution.
Since Wise Installation Studio had reached its end of life, we purchased Wise Package Studio 8 so that we may still create our own MSI files for deployment of In-House applications. One such application, developed in Visual Studio 2008 using .Net 4.0 Client Profile causes an error when the EXE is added to the Files
Failed to scan .NET information for assembly. Install version 2.0 (or higher) of .NET etc etc
I am unable to set .Net 4 as the minimum requirement as it does not appear to be available. Is this not supported, or is there a way to update WPS to include this.
If I change the project to use .Net 2.0, there is no error.
Regards
Julie
Discussion Filed Under:
Comments
Is your question about how to
Is your question about how to set .NET 4.0 as a system requirement?
WPS8 was released nearly 15 months ago and support was added for VS2008 and .NET 3.5 but it has not yet been updated for .NET 4.0
There are documented methods (eg http://support.microsoft.com/kb/318785) for reliably detecting which version(s) of .NET are installed on a target system as well as the MsiNetAssemblySupport property which will report what the highest version of .NET is present on the target machine, and either of these can be used as launch conditions or as system requirements.
One other thing I would mention, and that is to say that the order of installation of .NET and WPS 8 is important for reliable operation. In all cases, all required .NET frameworks should be installed before installing WPS. If you have installed any version of .NET after WPS, then you should reinstall WPS or at least run a repair.
If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.
Add Files To Package
The problem I am having is when I attempt to add an EXE, built using Visual Studio 2008 and the .Net 4.0 Client profile, I get the following error message :
Failed to scan .NET information for assembly. Install version 2.0 (or higher) of .NET etc etc
and none of the assembly attributes are populated and possible dependencies can be missed.
I thought that perhaps I had to set the .Net framework in the system requirements and thats how I discovered .Net 4.0 was not listed.
Will I be unable to add a .Net 4.0 assembly to any package until WPS is updated for .Net 4.0?
Yes you should however as Ed
Yes you should however as Ed mentioned above and I quote
One other thing I would mention, and that is to say that the order of installation of .NET and WPS 8 is important for reliable operation. In all cases, all required .NET frameworks should be installed before installing WPS. If you have installed any version of .NET after WPS, then you should reinstall WPS or at least run a repair.
I have tested this and it
I have tested this and it doesn't work. You need another installation tool that is compatible with .NET 4. Wise is not. And who knows, will it ever become. The .NET 4 Framework is different and has stripped compatibility with the previous frameworks. One big change is that GAC files don't reside in C:\Windows\assembly anymore. They are in C:\Windows\Microsoft.NET\assembly. Another change is the runtime version. Previously all .NET files contained runtime version v2.0.50727 in the manifest (this includes files compiled with .NET 2, 3 and 3.5). Now the runtime version is v4.0.30319. This essentially strips all backwards compatibility at runtime.
A big advantage with .NET 4.0 is the very compact runtime. But the lack of backwards compatibility has disadvantages. You cannot run products compiled with .NET 2.0 or 3.5 with the 4.0 runtime. That's why we need to continue shipping the .NET 3.5 Framework runtime, too, to be able to support older tools that don't include the appropriate version of the .NET runtime. This makes our packages even bigger.
Installation Order
I can see from the folder creation dates that WPS8 was installed the day before I installed .Net 4.0!
I've performed a repair, got an olepro32.dll error, but the repair seemed to complete anyway. I can not see Version 4.0 in the list of frameworks under Minimum System Requirements, but at the moment I am not in a position to test adding files as urgency dictated that I revert to .Net 2.0 for this particular VS2010 project. I know I said VS2008, but it is actually a VS2010 project ... would that have anything to do with the assembly error? I hope to retry early next week.
Please test, but you won't
Please test, but you won't probably get rid of the "Failed to scan .NET..." error. I didn't.
The Minimum System Requirements list is different functionality in the Wise tool from it's ability to scan assembly attributes from a .NET file added to the installation. If you search the site you will find a guide how to add the framework to the list. This won't help the .NET scanning problem, though.
To make a valid installation, you could try editing the resulting MSI file and adding the assembly files manually to the MsiAssembly table and assembly attributes to the MsiAssemblyName table. If you only have a few files, this could maybe work. Use a .NET 3.5 or older file to get an example of hwo these tables should look.
In that case, its not worth
In that case, its not worth the time and effort to get .Net 4 working for the VS2010 project if WPS8 doesn't support it anyway. I'll use .Net 3.5 instead, problem solved.
Thanks to everyone for their input.
Would you like to reply?
Login or Register to post your comment.