小编Jim*_*mmy的帖子

WiX未解析部分片段中对符号媒体1的引用

我正在尝试在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 wix3.5

10
推荐指数
1
解决办法
8281
查看次数

Wix 3.5,根据复选框安装功能

我试图这样做,以便当用户通过复选框选择某些内容时,将安装相应的功能.我知道Wix提供的预构建功能树,但我正在做的其他一些事情不允许我使用此功能.我很好奇如何将两者连接在一起,以便当用户选中"安装功能X"复选框时,在用户单击安装按钮时安装功能X ...任何建议将不胜感激.

c# wix wix3.5

8
推荐指数
1
解决办法
1万
查看次数

Wix 3.5按钮控件上的图标

我正在尝试为我的安装程序创建一个"帮助"按钮,由于某些原因我的图标没有出现在我的按钮上.目前我在我的主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)

关于我做错事或遗漏的事情的任何想法.我觉得这里有点愚蠢,我无法弄清楚这一点,但有时候最简单的问题会导致最严重的问题,我是对的吗?大声笑

wix wix3.5 wix3.6

7
推荐指数
1
解决办法
1053
查看次数

使用WiX将文件夹安装到ALLUSERS(不是快捷方式!)

我有一个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)

wix wix3.7

4
推荐指数
1
解决办法
1768
查看次数

在C#中使用SQL来获取数据库的驱动器号

我试图在服务器上找出数据库所在的驱动器.为了进一步说明,该服务器上有一个服务器"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# sql-server smo

3
推荐指数
1
解决办法
689
查看次数

在HTML标记中使用System.Drawing.Image

我有一个可能很容易的问题.我有一个存储在数据库中的图像,然后我在我的应用程序中使用了一个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)

关于我做错了什么的任何想法?

html c# system.drawing

3
推荐指数
1
解决办法
2万
查看次数

C# WPF 捕获键盘和鼠标

所以我有一个 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 的同时左键单击并拖动图像,它会改变速度。

如果有人对此有任何见解(即文章、文献或建议),那就太好了。谢谢您,如果需要任何其他信息,请告诉我。

c# wpf mouseevent keyboard-events

3
推荐指数
1
解决办法
8054
查看次数

使用表单从按钮启动msi

我觉得这个问题真的很傻,因为我知道我不应该在这个简单的任务中遇到这么多麻烦......但是当用户按下一个表单的按钮时,我正试图启动我的.msi.我确信这是一个单行,但我不能为我的生活弄清楚这一点.我的桌面上有.MSI文件,所以我希望按钮也能让用户选择msi文件所在的位置.如果有人能帮助我那将是伟大的......

c# forms windows-installer webforms

0
推荐指数
1
解决办法
126
查看次数