Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8141341
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 6, 20262026-06-06T12:28:24+00:00 2026-06-06T12:28:24+00:00

How do I set the HTTP custom error messages on a website installed by

  • 0

How do I set the HTTP custom error messages on a website installed by InstallShield 2009?

It does look deceptively simple. There is an Internet Information Services view, where we can create website or virtual directory objects, and one of the tab for those objects looks like it may let us set custom HTTP Error messages.

It even works to reset 1 or 2 error message, but when I try to reset all the HTTP error message, it does fail.

Specifically, this is the ISIISCommon table on my InstallShield project (XML file format):

<table name="ISIISCommon">
    <col key="yes" def="s72">ISIISCommon</col>
    <col def="S72">ISIISCommon_Parent</col>
    <col def="L255">DisplayName</col>
    <col def="s50">RootDir</col>
    <col def="i4">Attributes</col>
    <col def="L255">DefDoc</col>
    <col def="I4">SessionTimeout</col>
    <col def="I4">ScriptTimeout</col>
    <col def="S255">AnonyUserName</col>
    <col def="S255">AnonyPasswrd</col>
    <col def="S0">CustomErrors</col>
    <col def="L255">AppName</col>
    <col def="S72">SSLCert</col>
    <col def="L72">AppPool_</col>
    <col def="S255">Aspversion</col>
    <col def="S255">SslPassword</col>
    <col def="S255">HostHeaderName</col>
    <row><td>ISIISCommonVRoot</td><td>ISIISCommonWebsite1</td><td>##ID_STRING121##</td><td>WEB</td><td>25873</td><td>Index.html</td><td>20</td><td>90</td><td/><td/><td>400,*,URL,CustomError.html;401,1,URL,CustomError.html;401,2,URL,CustomError.html;401,3,URL,CustomError.html;401,4,URL,CustomError.html;401,5,URL,CustomError.html;403,1,URL,CustomError.html;403,10,URL,CustomError.html;403,11,URL,CustomError.html;403,12,URL,CustomError.html;403,13,URL,CustomError.html;403,14,URL,CustomError.html;403,15,URL,CustomError.html;403,16,URL,CustomError.html;403,17,URL,CustomError.html;403,2,URL,CustomError.html;403,3,URL,CustomError.html;403,4,URL,CustomError.html;403,5,URL,CustomError.html;403,6,URL,CustomError.html;403,7,URL,CustomError.html;403,8,URL,CustomError.html;403,9,URL,CustomError.html;404,*,URL,CustomError.html;405,*,URL,CustomError.html;406,*,URL,CustomError.html;407,*,URL,CustomError.html;412,*,URL,CustomError.html;414,*,URL,CustomError.html;500,*,URL,CustomError.html;500,100,URL,CustomError.html;500,12,URL,CustomError.html;500,13,URL,CustomError.html;500,15,URL,CustomError.html;501,*,URL,CustomError.html;502,*,URL,CustomError.html</td><td>##ID_STRING127##</td><td/><td>##ID_STRING31##</td><td/><td/><td/></row>
</table>

As you may notice, I tried to set all of the HTTP errors on my virtual directory to be redirected to a CustomError.html page. Note also that I think storing this information inside a TD element, and not in its own TABLE, is faulty to a fault, especially on the InstallShield/Windows Installer world.

This doesn’t work, on various levels.

First and foremost, here is the installation log,

    MSI (s) (60:14) [12:28:49:025]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI72A0.tmp, Entrypoint: CreateIISVRoots
    InstallShield 12:28:49: User legacy object preference is the following: 1 . This is based on the value of the following property: IISPREFERLEGACYOBJECTS
    InstallShield 12:28:49: InitIISObject
    InstallShield 12:28:49: CreateAppPoolFunction
    InstallShield 12:28:49: OpenKeyLog, pszMDPath =/LM
    InstallShield 12:28:49: AddKey, pszMDPath = /W3SVC/AppPools/MyAppPool
    InstallShield 12:28:49: OpenKeyLog, pszMDPath =/LM/W3SVC/AppPools/MyAppPool
    InstallShield 12:28:49: getvaluelog
    InstallShield 12:28:49: SetVRtStrProperty for property '1002' with value 'IIsApplicationPool' and strSubPath '/'.
[zip]
    InstallShield 12:28:49: SetVRtStrProperty for property '6006' with value 'Index.html' and strSubPath '/'.
    InstallShield 12:28:49: SetData, pszMDPath = /
    InstallShield 12:28:49: SetVRtDelimMultiszProperty for property '6008' with value '400,*,URL,CustomError.html;401,1,URL,CustomError.html;401,2,URL,CustomError.html;401,3,URL,CustomError.html;401,4,URL,CustomError.html;401,5,URL,CustomError.html;403,1,URL,CustomError.html;403,10,URL,CustomError.html;403,11,URL,CustomError.html;403,12,URL,Cus'.
    **InstallShield 12:28:49: SetVRtMultiszProperty for property '6008' and value '400,*,URL,CustomError.html' with length '522'**.

By the look of it, it doesn’t like that 522 characters are being used to describe the custom errors. In IIS, only the first 259 characters were consumed, so only an handful of custom errors were correctly set up, the last of one grossly incorrectly (the resulting custom error URL for 403.12 being “cus”).

Is there any way to work around this limitation?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-06T12:28:26+00:00Added an answer on June 6, 2026 at 12:28 pm

    I renamed the CustomError page from CustomError.html to ce.htm. This saved some space, but was not enough. A bigger char buffer saver was the good old *. Instead of

    401,1,URL,CustomError.html;401,2,URL,CustomError.html;…;401,13,CustomError.html;401,2,URL,CustomError.html

    I end up using:

    401,*,FILE,ce.htm;

    And this how the virtual directory row looks now in the ISIISCommon table:

        <row><td>ISIISCommonVRoot</td><td>ISIISCommonWebsite1</td><td>##ID_STRING121##</td><td>WEB</td><td>25873</td><td>Index.html</td><td>20</td><td>90</td><td/><td/><td>400,*,FILE,ce.htm;401,*,FILE,ce.htm;403,*,FILE,ce.htm;404,*,FILE,ce.htm;405,*,FILE,ce.htm;406,*,FILE,ce.htm;407,*,FILE,ce.htm;412,*,FILE,ce.htm;414,*,FILE,ce.htm;500,*,FILE,ce.htm;501,*,FILE,ce.htm;502,*,FILE,ce.htm</td><td>##ID_STRING127##</td><td/><td>##ID_STRING31##</td><td/><td/><td/></row>
    

    This may not be suitable for all scenarios (what if someone would like to have different customer errors for 401.1 and 401.2?).

    Also, I had to make this change directly on the InstallShield XML project file, as the GUI wouldn’t understand that (and still does, even do it load up the project, and build it correctly, the Custom Errors tab is a mess, I just discount the DEFAULT or suberror specialized entries, they are not there in the resulting MSI file, or this is what Orca says anyway).

    I also moved from URL to FILE as the latter seems more orthogonal to authentication.

    It would be great to read a better solution, and I still wonder why in such a world of tables, someone thought it was going to be a good idea to store a table like that.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have set up a website here: http://liamwli.co.uk/ggsim On the bottom, there are 2
How do I set custom HTTP headers on an ESB proxy service Out Sequence?
Is there any way to set the HTTP header fields of a HTML form
I've set up a custom Facebook share button for a website. When I click
Yet another strange WPF error: I have a custom control in a simple XAML
I'm trying to set a custom HTTP 1.0 status code in order to return
I need to set http header for disabling ie (7-8) caching (it disturbs my
I just found an icon set here: http://www.archetype-inc.com/yard/fundamentals/icons/ I've been looking for something like
If you set a permanent HTTP redirection (301 status) then will browsers still visit
I've got a basic HTTP client set up in C++, which works ok so

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.