MST CD LABEL Media Table Problem
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?
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
Answers (11)
Please log in to answer
Posted by:
SandeepPanat
13 years ago
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?
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?
Posted by:
anonymous_9363
13 years ago
Posted by:
jmaclaurin
13 years ago
Posted by:
jmaclaurin
13 years ago
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.
Posted by:
jmaclaurin
13 years ago
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?
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?
Posted by:
SandeepPanat
13 years ago
Posted by:
anonymous_9363
13 years ago
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.
Posted by:
mayur_mak
13 years ago
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
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
Posted by:
jmaclaurin
13 years ago
Posted by:
anonymous_9363
13 years ago
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...
Posted by:
jmaclaurin
13 years ago
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.
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.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.