This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: IS2008 Issues - DLL registration, Error 1027, Single exe
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Apr 27, 2008
04:52 PM
IS2008 Issues - DLL registration, Error 1027, Single exe
I am working on upgrading a project from Installshield 12 (Pro) to Installshield 2008 (Pro). The binaries include DLL and EXEs generated from a combination of C# and C++ code (VS 2005 Pro), with .Net 2.0 SP1. I have four-some issues with the upgrade (please see the same with colors/picture in the attached Word document).
1. One of the C-Sharp DLL is not registered upon installation. I know this because when I copy registry entries from another machine where the product (made from Installshield 12) was installed, the product (made from Installshield 2008) starts to work. The C-sharp code includes the following, but Sample.Control doesn’t appear in the registry.
[System.Runtime.InteropServices.ComVisible(true)]
[GuidAttribute("1B19F6AB-5353-3A62-B776-E07D600ABDF5"), ProgId ("Sample.Control")]
2. The older version of Installshield was producing a single EXE, which we called productinstaller.exe. However, with Installshield 2008, I am not getting a single EXE. Instead, I am getting Four files (Autorun.INF, setup.INI, product.msi, and productinstaller.EXE). What settings are there to combine these four files into one?
3. Upon completion of the build, Installshield 2008 gives a warning and error. The error is “Failed signing certificate.msi”, with error code is -1027. What is certificate.msi and how do I correct this error?
4. Also, the version of the product made from Installshield 12 used to prompt with a dialog box if the user needed to install .Net Framework 2.0. However, the version made from Installshield 2008 does not.
Please help me with the right settings/approaches for these problems. Thanks,
George
1. One of the C-Sharp DLL is not registered upon installation. I know this because when I copy registry entries from another machine where the product (made from Installshield 12) was installed, the product (made from Installshield 2008) starts to work. The C-sharp code includes the following, but Sample.Control doesn’t appear in the registry.
[System.Runtime.InteropServices.ComVisible(true)]
[GuidAttribute("1B19F6AB-5353-3A62-B776-E07D600ABDF5"), ProgId ("Sample.Control")]
2. The older version of Installshield was producing a single EXE, which we called productinstaller.exe. However, with Installshield 2008, I am not getting a single EXE. Instead, I am getting Four files (Autorun.INF, setup.INI, product.msi, and productinstaller.EXE). What settings are there to combine these four files into one?
3. Upon completion of the build, Installshield 2008 gives a warning and error. The error is “Failed signing certificate.msi”, with error code is -1027. What is certificate.msi and how do I correct this error?
4. Also, the version of the product made from Installshield 12 used to prompt with a dialog box if the user needed to install .Net Framework 2.0. However, the version made from Installshield 2008 does not.
Please help me with the right settings/approaches for these problems. Thanks,
George
(6) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Apr 27, 2008
09:27 PM
For #1, you should make the assembly a keyfile in it's own component and then hit the Com Interop attribute as True. Remember, managed assemblies ( even ones marked as ComVisible ) don't expose a DllRegisterServer function like unmanaged libraries do. You have to reflect their types and extract the signatures. InstallShield will do this for you.
For the .NET 2.0 question, you need to download and enable the .NET 2.0 Setup Prerequisite.
For the rest, it just sounds like you need to go through the release wizard and tweak some settings.
For the .NET 2.0 question, you need to download and enable the .NET 2.0 Setup Prerequisite.
For the rest, it just sounds like you need to go through the release wizard and tweak some settings.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Apr 28, 2008
08:58 PM
Hi Chris,
Thanks for the tip. By going through the Release Wizard, I've been able to resolve the last three issues (.Net 2.0, single file, error code 1027). However, the DLL is still NOT registering correctly. The COM Interop attribute is set to TRUE. Any ideas?
Thanks.
Thanks for the tip. By going through the Release Wizard, I've been able to resolve the last three issues (.Net 2.0, single file, error code 1027). However, the DLL is still NOT registering correctly. The COM Interop attribute is set to TRUE. Any ideas?
Thanks.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Apr 28, 2008
09:06 PM
Goto Tools | Options | .NET and make sure RegAsm is setup correctly. If that doesn't work, manually run regasm against your assembly with the /regfile:test.reg switch. Import this regfile into your component.
You shouldn't have to do this so if you do, I'd be curious as to what's going on to make you.
You shouldn't have to do this so if you do, I'd be curious as to what's going on to make you.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Apr 28, 2008
10:19 PM
Got it. Actually, the .Net Framework wasn't installed on the build machine 😮
I installed it, changed the path for regasm, and it seems to be working.
Thanks Chris.
George
I installed it, changed the path for regasm, and it seems to be working.
Thanks Chris.
George
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Apr 28, 2008
10:34 PM
No problem, glad to help. And welcome to the Community.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Oct 23, 2009
08:08 PM
Hi Chris,
I have similar problem to register the managed DLL. The only different to the previous posts is when I install my new version over the previous version the dll didn't get register correctly. If I install this new version to a clean machine, it works just fine. I did also apply a Major upgrade to this new version, and no change to the dll what so ever.
Thank you for your help,
Joe A.
I have similar problem to register the managed DLL. The only different to the previous posts is when I install my new version over the previous version the dll didn't get register correctly. If I install this new version to a clean machine, it works just fine. I did also apply a Major upgrade to this new version, and no change to the dll what so ever.
Thank you for your help,
Joe A.