Click here to Skip to main content
Click here to Skip to main content

Set a password textbox for Visual Studio .NET setup project

By , 15 Feb 2004
 

Introduction

Do you need to set a password mask at Visual Studio .NET setup project? With a few steps, you would get it.

Tools

The only tool you need is ORCA. ORCA is a Microsoft utility for modifying and validating Windows Installer packages. It is a database tool created for setup authors and administrators who work with the Windows Installer Service. This utility is a part of the Windows Installer SDK download along with other MSI related tools.

You can use ORCA to open and modify MSI packages.

To download and install ORCA, follow these steps:

  1. Visit the SDK Platform Site page to download the Windows Installer SDK. The link to Windows Installer SDK should be on the left hand side frame on the above site.
  2. Click on that link to go to the next page to download Windows Installer SDK, which includes ORCA.
  3. After downloading and installing Windows Installer SDK, go to \Program Files\Microsoft SDK\Bin folder on the machine to look for Orca.msi.
  4. Run Orca.msi by double clicking on it, which is the setup to install ORCA on your machine.
  5. After installing ORCA on your machine, you will be able to right click on any MSI package and open it in ORCA.

Using the code

The first thing to do, is generate our VS.NET setup project and identify our future password textbox. You can see Edit2Property in our example that is EDITA2.

Now, we start to modify the MSI to enable our password text changing attributes for our textbox EDITA2.

First of all, we've to start ORCA and open the MSI file generated by VS.NET, and go to 'Control' table.

Normally, all textboxes are called CustomTextA, and we've to identify our textbox by Property column. In our case, we can see our row, has '7' as attributes. Let's go to see what means this '7'.

The attributes are set in binary format, so '7' is 111. 100 + 10 + 1 and this is 4 + 2 + 1 in decimal format. Now, we can go to control attributes table here and check what attributes are 4,2,1.

We can see that our textbox has the following properties: Enabled, Sunken and Visible. Now, check that there's an advance properties table for textboxes, and there's a Password property with value 2097152.

Now we have to add this property to the initial property value (7). 2097152 + 7 = 2097159, that's our new property value. Set in attributes cell and save the MSI File.

Now, check your MSI, and you could see that our textbox is a password textbox!!!

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Javier Teixido
Web Developer
Spain Spain
Member
Currently working at Avanade.com

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
SuggestionWorked flowless!memberMember 297644227 Nov '12 - 1:11 
Amazing article.
GeneralMy vote of 5memberbigdreams3 Oct '11 - 7:39 
Straight to the point tutorial with clear images to illustrate. well done!
Questionhow can i set image to cancel, next, back buttons?memberNarendra Reddy Vajrala3 Jun '09 - 5:10 
Hi ,
how can i set image to cancel, next, back buttons in welcome, readme, lisense,etc windows.
GeneralVery easily implementable solutionmembercharan.aspnet22 Apr '09 - 19:02 
nice
 
Regards,
Jaya Banbah

GeneralSet Validation for Setup Poject Textbox Dialog in c#memberCtal1 Jan '09 - 19:05 
Hi,
I Have developed Setup for Shared Add-in. I Want to Register User to my database when installs setup.I have put Two Textbox Username and Password.
I already set Password character in it.
I want to validate these 2 textbox that it can not be null.
And Also want to Add one Pushbutton for database registartion .
if login fails or textbox is null then user is not allowed to go Next. (means I want to set Next button Disable).
When User user registerd Next button is Enable.
I tried it Using Orca but not getting what I want.
So please help me for the same
 
Thanks
 
Regards
Sheetal
QuestionHow do I do this all from the command line?memberJason W. Thompson18 Aug '08 - 8:58 
I want to have my installer automatically edited after each build, but how do I do this?
AnswerRe: How do I do this all from the command line?memberMember 265550917 Sep '08 - 11:47 
If you have the developer SDK that includes the WiRunSQL.vbs function, you can add a post-build event to your installer project that looks something like this:
 
Cscript WiRunSQL.vbs "$(BuiltOuputPath)" "UPDATE `Control` SET `Control`.`Attributes`=2097159 WHERE `Control`.`Dialog_`='CustomTextA' AND `Control`.`Control`='Edit2'"
 
(note this should all be on one line)
QuestionRe: How do I do this all from the command line?memberVenhKates19 May '09 - 23:17 
I got a error when i added the above line in postbuildevent property in setup...
The error says
'PostBuildEvent' failed with error code '1' 'Unspecified error'

 
any help?
 
Ven Kates

AnswerRe: How do I do this all from the command line?memberhaker0427 Jun '11 - 0:51 
You need ful path to WiRunSQL.vbs, then cscript path\WiRunSQL.vbs ...
GeneralControl Attribute link revisedmemberbimal parekh21 May '08 - 19:00 
http://msdn.microsoft.com/en-us/library/aa368042.aspx[^]

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web02 | 2.6.130523.1 | Last Updated 16 Feb 2004
Article Copyright 2004 by Javier Teixido
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid