我正在尝试在Visual Studio 2010中构建我的WiX项目,但每次构建时,都会收到以下错误消息:
"片段:"部分中未解决的符号"Media1"的引用
尚未解决的"产品{67DC7AE3-030F-4A24-AC3F-7AE7D0C32D07}"部分中的符号"Media1"的引用
该项目包括一个Product.wxs文件和一个热生成的wxs someComponents.wxs(我的片段)文件.我在Product.wxs中引用了热量生成的wxs文件中的组件.我收到错误的部分如下:
Product.wxs文件
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="DesktopFolder" Name="Desktop"/>
<Directory Id="ProgramFilesFolder">
<Directory Id="Aspex" Name="Company">
<Directory Id="INSTALLFOLDER" Name="My App" >
<Component Id="appFromSomeComponent">
<File Id="AppFromSomeComponentexe"
Name="AppFromSomeComponent.exe"
Source="$(var.AppFromSomeComponentBin)\AppFromSomeComponent.exe" />
<RemoveFile Id="PurgeAppFolder" Name="*.*" On="uninstall" />
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
<!-- Shortcuts in the start menu-->
<DirectoryRef Id="ApplicationProgramsFolder2">
<Component Id="StartMenuMyApp">
<Shortcut Id="MyAPP" Directory="ApplicationProgramsFolder2"
Name="My App"
WorkingDirectory="INSTALLFOLDER"
Target="[INSTALLFOLDER]appFromSomeComponent.exe"/>
<RemoveFolder Id="ApplicationProgramsFolder2" On="uninstall"/>
<RegistryValue Root="HKCU"
Key="Software\Microsoft\appFromSomeComponent"
Name="installed"
Type="integer"
Value="1"
KeyPath="yes"/>
</Component>
<Component Id="UninstallStartMenuShortcut">
<Shortcut Id="UninstallProduct"
Name="Uninstall My App"
Target="[SystemFolder]msiexec.exe"
Arguments="/x [ProductCode]"
Description="Uninstall …Run Code Online (Sandbox Code Playgroud) 我试图这样做,以便当用户通过复选框选择某些内容时,将安装相应的功能.我知道Wix提供的预构建功能树,但我正在做的其他一些事情不允许我使用此功能.我很好奇如何将两者连接在一起,以便当用户选中"安装功能X"复选框时,在用户单击安装按钮时安装功能X ...任何建议将不胜感激.
我正在尝试为我的安装程序创建一个"帮助"按钮,由于某些原因我的图标没有出现在我的按钮上.目前我在我的主wix产品wxs文件中包含图标图像如下
<WixVariable Id="WixUIInfoIcon" Value="Icons\info.ico"/>
Run Code Online (Sandbox Code Playgroud)
然后在wxs文件中我使用的图标我在顶部有二进制定义,如下所示
<Binary Id="info" SourceFile="$(var.ICONS)\info.ico" />
Run Code Online (Sandbox Code Playgroud)
ICONS是我用I QUADRUPLE检查的文件路径创建的变量,以确保它是准确的.我在其他地方使用相同的技术和位图,看起来我已经排除了变量作为已知问题.
然后按钮本身看起来像这样
<Control Id="info" Type="PushButton" X="101" Y="51" Width="25" Height="23" ToolTip="Info for feature" Icon="yes" FixedSize="yes" IconSize="32"Text="info">
<Publish Property="FEATURE_DESC_SHOW" Value="true"></Publish>
<Publish Event="SpawnDialog" Value="PopupDlgFeature">1</Publish>
</Control>
Run Code Online (Sandbox Code Playgroud)
关于我做错事或遗漏的事情的任何想法.我觉得这里有点愚蠢,我无法弄清楚这一点,但有时候最简单的问题会导致最严重的问题,我是对的吗?大声笑
我有一个MSI文件正在安装一个包含大量文件的文件夹.我有一个位置,我将文件放入:
Windows XP: C:\ Documents and Settings\All Users\Documents\MyFolder
Windows 7: C:\ Users\Public\Documents\MyFolder
问题是我不想对这些路径进行硬编码,但无论我在哪里看都无法找到如何做到这一点,因为我看到的每个地方都在谈论为所有用户制作快捷方式,这不是我想要的做.如何将文件夹安装到"所有用户"位置?
像这样的东西:
<PropertyRef Id="WIX_DIR_COMMON_DOCUMENTS" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="WIX_DIR_COMMON_DOCUMENTS">
<Directory Id="MyFolder" Name="MyFolder">
Run Code Online (Sandbox Code Playgroud) 我试图在服务器上找出数据库所在的驱动器.为了进一步说明,该服务器上有一个服务器"MyServer"和三个数据库.数据库A和B位于该服务器的"C:\"驱动器上,数据库C位于"D:\"驱动器上.我想知道如何使用连接字符串来尝试获取驱动器号,以便当用户从应用程序中选择数据库时,它会告诉他们该数据库所在的驱动器.
目前我正在尝试以下方法,但没有得到正确的答复:
Private void GetDriveLetter()
{
string connectionString = String.Format(DatabaseInfo.CONNECTIONSTRING_TEMPLATE, dbName, server)
try
{
using (SqlConnection cn = new SqlConnection(ConnectionString))
{
cn.Open();
Server srv = new Server(new ServerConnection(cn));
Database database = new Database(srv, dbName);
txtDriveLetter.Text = database.PrimaryFilePath;
cn.Close();
}
}
catch (Exception ex)
{
myException = ex.Message
}
}
Run Code Online (Sandbox Code Playgroud)
DatabaseInfo只是我们用于读取SQL Server和数据库名称的类,myException是一个将异常写入日志文件的函数.我遇到的问题是,无论我做什么,我都会得到一个异常,说从未设置过PrimaryFilePath.我做错了什么/遗失了什么,或者这不是正确的方法吗?
编辑:抱歉从未发布异常要完成此操作,请设置属性PrimaryFilePath.
我有一个可能很容易的问题.我有一个存储在数据库中的图像,然后我在我的应用程序中使用了一个C#方法来获取该图像并将其存储在一个如下所示的自定义类中:
public class MyImage
{
public System.Drawing.Image myImageFromDB;
public string imageName;
public int imageNumberInCollection;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:我可以/如何在HTML图像标记中使用此类中的图像?我尝试了以下但它只返回一个带有红色X的框:
//myImageFromDBCollection is a list of MyImage objects
foreach(var ind in myImagesFromDBCollection)
{
table += String.Format("<image src={0} />", ind.myImageFromDB);
}
Run Code Online (Sandbox Code Playgroud)
关于我做错了什么的任何想法?
所以我有一个 WPF 窗口来捕获图像上的鼠标事件。我通过以下代码执行此操作:
<Image Name="imgPrimaryImage" Width="512" Height="512" RenderOptions.BitmapScalingMode="NearestNeighbor" Margin="5"
Source="{Binding Path=ImageMgr.ImageSource}"
MouseLeftButtonDown="OnMouseLeftButtonDown"
MouseMove="OnMouseMove"
MouseLeftButtonUp="OnMouseLeftButtonUp"/>
Run Code Online (Sandbox Code Playgroud)
应用程序功能:当用户左右移动鼠标时,只要按下鼠标左键,就会改变图像的大小。
问题: 在捕获鼠标移动事件的同时是否也可以捕获键盘事件。
最终结果: 我希望能够根据按下的 CTRL 和 SHIFT 来更改鼠标速度。我有更改鼠标速度所需的代码,我只是想知道如何获得它,以便如果用户在按住 CTRL 的同时左键单击并拖动图像,它会改变速度。
如果有人对此有任何见解(即文章、文献或建议),那就太好了。谢谢您,如果需要任何其他信息,请告诉我。
我觉得这个问题真的很傻,因为我知道我不应该在这个简单的任务中遇到这么多麻烦......但是当用户按下一个表单的按钮时,我正试图启动我的.msi.我确信这是一个单行,但我不能为我的生活弄清楚这一点.我的桌面上有.MSI文件,所以我希望按钮也能让用户选择msi文件所在的位置.如果有人能帮助我那将是伟大的......