We create MST's to add files with our installations. Works perfect from a mapped drive or network location, but when run from a CD, we are prompted for Disk LABEL. Looking in the tables, I found under media that the .cab file DiskPrompt is set for LABEL which I am guessing is a variable. When I check other packages, the DiskPrompt is set to blank or 1, etc.

What is the media table and how do I set it properly so that it will detect the cab file in the same location as the msi/mst?
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
DiskPrompt is a property which matches the related column entry in Media table while requesting a volume.
If you have a volume label for one of the entries in the Media table then Windows Installer will check the volume label to make sure it matches even for an installation that does not need multiple disks.
That is the reason, you are getting prompted for new discs.
You can keep the VolumeLabel column blank for the .cab entry in the Media table and see what happens.

BTW, did you set the SourceDir property explicitly?
Answered 06/22/2011 by: SandeepPanat
Orange Senior Belt

Please log in to comment
0
What is the media tableHave I mentioned MSDN/Technet at all? Phil Wilson's The Definitive Guide To Windows Installer? Ringing any bells? :-)
Answered 06/22/2011 by: VBScab
Red Belt

Please log in to comment
0
ORIGINAL: VBScab

What is the media tableHave I mentioned MSDN/Technet at all? Phil Wilson's The Definitive Guide To Windows Installer? Ringing any bells? :-)



[;)]

Maybe once or twice. I should have responded to my post after I figured out what it is. Now if I can just figure out how to set it.
Answered 06/22/2011 by: jmaclaurin
Third Degree Blue Belt

Please log in to comment
0
ORIGINAL: SandeepPanat

BTW, did you set the SourceDir property explicitly?



No, its not set. There is only the 1 cab file and there is no issue when run from a mapped drive, network share or locally. I understand why the need for the Media entry, I'm just not sure how I should set it so that it looks in the MSI/MST directory for the CAB. Google seems to lead me to believe that I need to set it explicitely, but there must be some way so that I don't need to. I don't suppose something like .\ or %~dp0.
Answered 06/22/2011 by: jmaclaurin
Third Degree Blue Belt

Please log in to comment
0
I'm still stumped with this one.

Here is what I have found so far:

(CDRW is a best friend when troubleshooting this one...)

The DiskPrompt value is text and can be 40~ characters in the MSI/MST, but the OS will only recognize/display 16 characters.
It can be populated with a variable, but not the path to the CAB file.
There is a variable called DiskPrompt and its value is [1]. I tried setting it to [0] and it made no difference.

Here is where I am stumped. Even if I set the Media DiskPrompt value to Disk 1 and lable the disk Disk 1, it still doesn't work.

Does it matter if the MSI is not in the root of the cd?
Answered 06/22/2011 by: jmaclaurin
Third Degree Blue Belt

Please log in to comment
0
ORIGINAL: jmaclaurin
Does it matter if the MSI is not in the root of the cd?

I don't think that the location of MSI would matter, instead location of the cab would surely matter.
What does the verbose log show you? log entries during InstallFiles?
Answered 06/23/2011 by: SandeepPanat
Orange Senior Belt

Please log in to comment
0
if I set the Media DiskPrompt value to Disk 1 and lable the disk Disk 1, it still doesn't work.DiskPrompt is a property which matches the related column entry in Media table while requesting a volume.A basic knowledge of DOS would tell you that disk labels cannot have spaces in. Try 'DISK1' or 'DISK_1' or, better, use no label at all.
Answered 06/23/2011 by: VBScab
Red Belt

Please log in to comment
0
Hi jamaclaurin,

Refer MSDN for complete details about Medis table.

In short Media table holds the set of disks records that make up the media files for MSI installaiton.For avoiding the Disk Prompting problem u can set the DiskPrompt value to a bank value.Doing so wont prompt for the Disk to the user during installation and will use the same location as MSI/MST.

regards,
Mayur
Answered 06/23/2011 by: mayur_mak
Senior Purple Belt

Please log in to comment
0
Disk 1, Disk_1, Disk1 did not make a difference. I doubt it has anything to do with DOS because the label of the disk has nothing to do with the path to the disk/CAB which I also mentioned above.

Leaving both the disk name and DiskPrompt value blank works.

Thanks for your help.
Answered 06/23/2011 by: jmaclaurin
Third Degree Blue Belt

Please log in to comment
0
I doubt it has anything to do with DOSIt sure does, since Windows will search the source disk for its label and error if it's invalid, which it will be if it's not in DOS standard format.

And, always remember that, underneath all that window junk lies good old DOS v6.22 (albeit heavily disguised). It's the same reason why path names cannot be longer than 254 characters and why we're still shackled with 8.3 file names, amongst myriad other restrictions. Ever ran out of space for environment variables? Yup, DOS did that. I shan't go on...
Answered 06/23/2011 by: VBScab
Red Belt

Please log in to comment
0
Actually, I found the problem. DiskPrompt is only the text that will be displayed in the insert disk dialogue. The problem was that I was not setting the VolumeLable value to match the physical media or vice-versa.

FYI, both will allow a space. Oddly enough, they will allow this !@#$%^&*.? to.

http://msdn.microsoft.com/en-us/library/aa369801(v=vs.85).aspx

VolumeLabel
The label attributed to the volume. This is the volume label returned by the GetVolumeInformation function. If the SourceDir property refers to a removable (floppy or CD-ROM) volume, then this volume label is used to verify that the proper disk is in the drive before attempting to install files. The entry in this column must match the volume label of the physical media.

The reason that leaving DiskPrompt and the Disk label blank worked, was because then all 3 values were then set the same.

Additional note, I had to close and reopen the InstallShield 2011 project when my transform created the CAB so that I could see it listed in the Media table.
Answered 06/23/2011 by: jmaclaurin
Third Degree Blue Belt

Please log in to comment
Answer this question or Comment on this question for clarity