Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.0k views
in Technique[技术] by (71.8m points)

windows installer - Change Program Name and Shortcut Title during installation

I have a Basic MSI Install with Install Shield 2013 and we have about 20 different affiliate releases. Really the only difference between these releases is the Program Name and the shortcut that is installed on the desktop. We are trying to have one release build instead of building the same program over and over with these minor differences.

I have been trying to find a way to change those items at install time but have not been successful. Has anyone out there done this before or have any suggestions of where I could find some information about things like this.

My goal for the user experience during install time would be the following:

  • Generic Welcome Screen Appears
  • User is prompted for an affiliate code
  • MSI changes the program name and shortcut information to the title assigned to that code

Thanks in advance to everyone!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

The Shortcut tables doesn't allow for formatted shortcut names. I know how to implement variation points three ways:

1) Build Time 2) Install Time 3) Runtime

You're question indicates you want to go from build time to install time. It's possible to do this using custom actions that manipulate the Shortcut table using temporary rows.

The way I'd do it is have a custom table with schema Affiliate Code [PK] Branding

The custom action would get the prompted or passed value and find the row in the table for branding data. Then emit the data into the shortcut table and let MSI handle the rest.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...