cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
cbernier
Level 3

Error 1001 InstallutilLib

We installed VS2010 on our build machines, setups that are installing .NET services (using installutillib.dll) fail with error 1001. After a quick look in the log files we figure out what the problem was. InstallShield uses the latest version of the framework and since its not installed as a prerequisite on the client system, the setup fails.

So we started looking for a solution on the forums and found some on _isconfig.xml and _ISSupportedRuntime property. We tried setting both but the only one that seemed to work was _ISSupportedRuntime. _isconfig.xml gets overwritten otherwise. The problem is that its still trying to get the wrong version (4.0.30319). We can't set the value in the ui menu through tools->options since the standalone version is the only one installed on the build machines.

It now looks like we're gonna have to trash the MSBuild task and launch the damn thing with the ISCmdBld.exe command using the -t parameter. Please, if someone from IS is reading this post, tell us there's a solution, a hotfix or some answer somewhere on this forum, I know I could not find one.
Labels (1)
0 Kudos
(5) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

These aren't exposed through the default .targets file, but the InstallShield task has both a DotNetFrameworkVersion and a DotNetUtilPath property that can be set. You can either use these by calling the InstallShield task directly, or by opening the InstallShield.targets file, adding some property or item passthroughs to the InstallShield element, and setting the new properties or items in your .isproj file.
0 Kudos
cbernier
Level 3

I am sorry this post was for InstallShield 2008, the property is actually published in the documentation for IS2010 but we still are not able to make it work for IS 2008 (we haven't tried IS2010 yet).

We tried :

DotNetUtilPath="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727"

but we still get error 1001 on our setups that have .NET Installer Class set to true. This was working fine until we installed VS2010 on our build machines. If we set .NET Installer Class set to false everything installs fine. We must be doing something wrong, this looks pretty straight forward ...
0 Kudos
anselmomarnach
Level 3

I've been struggling with this issue too - and I do have IS2010. I tried setting the DotNetFrameworkVersion and DotNetUtilPath in my customized .targets file - but couldn't get that to work.

I did have success though - and here's how: I noticed that on my dev machine where I had both IS2010 and IS2010 Standalone Builder everything worked fine (i.e. the installer had the correct data in the _isconfig.xml file etc. - whether I built using IS2010 or the IS2010 Standalone builder.) But on a machine set up the same way except that it did not have IS2010 (it only had the IS2010 Standalone Builder) the data in the _isconfig.xml file was wrong (it had .net v4 data in there when it should have read:


I had a hunch that maybe the registry data is being read by the Standalone Builder on my first machine so I exported the data from 6 entries in key:
[HKLM\Software\InstallShield\16.0\Professional]
DotNetInstallUtilLibPath
DotNetMscorsnPath
DotNetRegasmPath
DotNetVersion
DotNetVersion1.1
DotNetVersion2.0

Then imported them on my machine that only had IS2010 Standalone Builder.

Worked like a charm after that.
0 Kudos
Billy228
Level 2

We are having the same exact issue, using the below registry file (.reg) resolves the issue on our build servers as well using 2010 Standalone Build. Is there any alternative? I cannot see anything on the ISCMDBLD command line that we can pass that would change between 2.0 or 4.0. During our build we have two reg files that are used to switch between the 4.0 and 2.0 settings since not all of our teams are using .NET 4 yet and we don't want to negatively impact others which are currently the majority in our group.


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\InstallShield\16.0\Professional]
"DotNetRegasmPath"="C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\RegAsm.exe"
"DotNetInstallUtilLibPath"="C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\InstallUtilLib.dll"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\InstallShield\16.0\Professional]
"DotNetRegasmPath"="C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\RegAsm.exe"
"DotNetInstallUtilLibPath"="C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\InstallUtilLib.dll"
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Have you tried passing the option -t ?
0 Kudos