Peter Mounce
2005-05-09 11:23:25 UTC
Hi
I'm having a problem with my setup: I want to get it to launch a text file
depending on the value of a checkbox on the "you're done" dialog.
I get the error (using v2.0.2722):
"
fatal error LGHT0010: There was an error importing table: ControlEvent with
file: C:\Temp\qtosz4ei\ControlEvent.idt
"
I have a UI Fragment, and have added:
<Control Id="ShowChangeLog" Type="Checkbox" X="145" Y="110" Width="150"
Height="17" Property="SHOWCHANGELOG" CheckBoxValue="1">
<Text>Show changelog?</Text>
</Control>
<Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56"
Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Finish]">
<Publish Event="DoAction" Value="NotePadChangeLog">
SHOWCHANGELOG = 1
</Publish>
<Publish Event="EndDialog" Value="Return">1</Publish>
</Control>
...
<Property Id="NOTEPAD">notepad.exe</Property>
<Property Id="SHOWCHANGELOG">1</Property>
<CustomAction Id="NotePadChangeLog" Property="NOTEPAD"
ExeCommand="[SourceDir]Changes.txt" Return="asyncNoWait" />
to my UIFragment.wxs file.
I have added:
<File Id="ChangeLog" Name="Changes.txt"
src="$(var.SolutionDir)\docs\CHANGELOG.txt" />
to my main .wxs code file inside the "main" component.
I have scheduled the custom action:
<InstallExecuteSequence>
...
<Custom Action="NotePadChangeLog" After="InstallFinalize">NOT
Installed</Custom>
</InstallExecuteSequence>
I have tried putting the properties and custom action definitions inside the
main .wxs file as opposed to the UI Fragment, on the offchance that the
order of definitions mattered (but it can't, right?).
So I'm a bit stuck. Am I doing something silly?
Additionally, it would be nice to have the facility to refer to files and
components inside attributes by their IDs. So for example, in the
ExeCommand above, I'd like to be able to write
ExeCommand="$(var.IDs.ChangeLog.Name)" or something like that to get the
filename and path without having to use the SourceDir property and then the
filename.
By the way, what happens if I want to address a file in the ExeCommand, and
its long and short names differ? Say I'd set Name="Changes.txt" and
LongName="Changelog.txt", and wanted to launch the file as I'm trying now -
what'd happen if I picked the one it wasn't named? Seems like another
annoyance of 8:3 names :-(
Peter Mounce
IML Ltd
e: mailto:***@iml.co.uk w: http://www.iml.co.uk
t: (01428) 727476 f: (01428) 727011
I'm having a problem with my setup: I want to get it to launch a text file
depending on the value of a checkbox on the "you're done" dialog.
I get the error (using v2.0.2722):
"
fatal error LGHT0010: There was an error importing table: ControlEvent with
file: C:\Temp\qtosz4ei\ControlEvent.idt
"
I have a UI Fragment, and have added:
<Control Id="ShowChangeLog" Type="Checkbox" X="145" Y="110" Width="150"
Height="17" Property="SHOWCHANGELOG" CheckBoxValue="1">
<Text>Show changelog?</Text>
</Control>
<Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56"
Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Finish]">
<Publish Event="DoAction" Value="NotePadChangeLog">
SHOWCHANGELOG = 1
</Publish>
<Publish Event="EndDialog" Value="Return">1</Publish>
</Control>
...
<Property Id="NOTEPAD">notepad.exe</Property>
<Property Id="SHOWCHANGELOG">1</Property>
<CustomAction Id="NotePadChangeLog" Property="NOTEPAD"
ExeCommand="[SourceDir]Changes.txt" Return="asyncNoWait" />
to my UIFragment.wxs file.
I have added:
<File Id="ChangeLog" Name="Changes.txt"
src="$(var.SolutionDir)\docs\CHANGELOG.txt" />
to my main .wxs code file inside the "main" component.
I have scheduled the custom action:
<InstallExecuteSequence>
...
<Custom Action="NotePadChangeLog" After="InstallFinalize">NOT
Installed</Custom>
</InstallExecuteSequence>
I have tried putting the properties and custom action definitions inside the
main .wxs file as opposed to the UI Fragment, on the offchance that the
order of definitions mattered (but it can't, right?).
So I'm a bit stuck. Am I doing something silly?
Additionally, it would be nice to have the facility to refer to files and
components inside attributes by their IDs. So for example, in the
ExeCommand above, I'd like to be able to write
ExeCommand="$(var.IDs.ChangeLog.Name)" or something like that to get the
filename and path without having to use the SourceDir property and then the
filename.
By the way, what happens if I want to address a file in the ExeCommand, and
its long and short names differ? Say I'd set Name="Changes.txt" and
LongName="Changelog.txt", and wanted to launch the file as I'm trying now -
what'd happen if I picked the one it wasn't named? Seems like another
annoyance of 8:3 names :-(
Peter Mounce
IML Ltd
e: mailto:***@iml.co.uk w: http://www.iml.co.uk
t: (01428) 727476 f: (01428) 727011