小编use*_*128的帖子

无法使用WiX启动Windows服务

我有以下WiX项目来安装我的服务:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Product Id="GUID" Name="SetupWinService" Language="1049"
           Version="1.0.0.0" Manufacturer="SetupWinService"
           UpgradeCode="GUID">
    <Package InstallerVersion="200" Compressed="yes"
             Languages="1049" SummaryCodepage="1251"
             InstallPrivileges="elevated"/>

    <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />

    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="WinService" Name="My Windows Service">
        </Directory>
      </Directory>
    </Directory>

    <DirectoryRef Id="WinService">
      <Component Id="WinServiceInstallation" Guid="GUID">
        <File Id="ClientService.exe"
              Name="ClientService.exe"
              Source="...\ClientService.exe"
              Vital="yes" KeyPath="yes" DiskId="1"/>
        <File Id="App.config"
              Name="App.config"
              Source="...\App.config"
              Vital="yes" KeyPath="no" DiskId="1"/>

            <!--And some DLLs here-->

        <ServiceInstall Id="ServiceInstaller"
                        Type="ownProcess"
                        Vital="yes"
                        Name="WcfServiceHost"
                        DisplayName="WcfServiceHost"
                        Description="Hosts Wcf Service"
                        Start="auto"
                        Account="LocalSystem"
                        ErrorControl="ignore"
                        Interactive="no">
        </ServiceInstall>
        <ServiceControl Id="StartService" Name="WcfServiceHost"
                        Start="install" Stop="uninstall" Remove="uninstall" …
Run Code Online (Sandbox Code Playgroud)

windows service wix

11
推荐指数
4
解决办法
2万
查看次数

记录大数据字段 - 更新而不提取?

我有一个表格,其中图像为varbinary(max),另一个数据(另一种类型)更紧凑.我想更新另一个数据但不更新图像.在循环(即所有记录)中使用过滤器来选择要更新的记录.我找到了各种解决方案,但是所有这些解决方案都使用将整个记录提取到上下文中或将现有记录(即先前提取或创建)附加到上下文.说"在之前的某个时间取出或创建"我的意思是所有字段的整个记录​​都被呈现 - 不是剪切图像或其他"不必要的"字段.

有没有办法更新记录而不通过EF获取任何不必要的数据(例如varbinary图像)?也许只是在没有所有字段的情况下获取任何轻量级POCO对象,但仅限于我需要的那些?或者这类任务位于EF的赋值之外,我必须使用纯SQL?

好吧,只是简单的例子:

数据库表:

create table Weed
(
    Id int identity(1,1) not null,
    Name nvarchar(100) not null,
    Description nvarchar(max) null,
    Image varbinary(max) null
)
Run Code Online (Sandbox Code Playgroud)

EF的POCO

public partial class Weed
{
    public Weed()
    {}

    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public byte[] Image { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想更新描述而不提取整个杂草(尤其是图像字段),以及名称以"A"开头的杂草.

c# sql-server entity-framework sql-server-2008 ef-database-first

5
推荐指数
1
解决办法
867
查看次数

没有任何目录的WiX安装

WiX 3.5.我的安装项目除了:

  1. 创建具有值的注册表项;
  2. 安装两个证书.

可以在没有任何"目录"元素的情况下构建WiX项目吗?

这是我的WiX项目中的XML代码:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension">
  <Product
        Id="GUID"
        Name="SetupProject1" Language="1033" Version="1.0.0.0"
        Manufacturer="SetupProject1" UpgradeCode="GUID">
    <Package InstallerVersion="200" Compressed="yes" Languages="1033" SummaryCodepage="1252" />

    <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />

    <Binary Id="testRootCABinaryStream"
            SourceFile="D:\testRootCA.cer" />
    <Binary Id="testSigningBinaryStream"
            SourceFile="D:\testSigning.cer" />

    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLLOCATION" Name="SetupProject1">
          <Component Id="RegistrySetting" Guid="GUID">
            <iis:Certificate Id="testRootCA"
                             BinaryKey="testRootCABinaryStream"
                             Name="Test Root CA Certificate"
                             Overwrite="yes"
                             Request="no"
                             StoreLocation="localMachine"
                             StoreName="root"/>
            <iis:Certificate Id="testSigning"
                             BinaryKey="testSigningBinaryStream"
                             Name="Test Signing Certificate"
                             Overwrite="yes"
                             Request="no"
                             StoreLocation="localMachine"
                             StoreName="trustedPublisher"/>
            <RegistryValue Root="HKLM" Key="Software\Microsoft\Silverlight"
                           Name="AllowElevatedTrustAppsInBrowser"
                           Type="integer" Value="00000001" KeyPath="yes" />
          </Component>
        </Directory> …
Run Code Online (Sandbox Code Playgroud)

directory wix

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

makecert.exe - -ss选项的参数列表?

我想把我的证书放到特定的商店,但我现在不知道这个商店的名称作为makecert.exe的-ss选项的参数.在哪里可以找到该工具的每个选项的所有可能参数?既不是MSDN也不是 - ?(该工具的帮助选项)可以提供帮助.

例如,"受信任的根证书颁发机构"的-ss等价物是什么?还有另一个证书商店吗?

makecert

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

DisplayAttribute 未在模型中本地化其属性

我在 WPF 应用程序中使用 MVVM 模式,并将具有本地化功能的 DisplayAttribute 应用到模型的属性:

class MyModel
{
    [Display(
        ResourceType = typeof(Resources.Strings),
        Name = "MyPropertyName",
        Description = "MyPropertyDescription")]
    public double MyProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想显示模型属性的本地化属性。必要的资源文件位于适当的位置,必要的区域性已设置。我还将“构建操作”设置为“嵌入资源”,并将“自定义工具”设置为“PublicResXFileCodeGenerator”——根据 DisplayAttribute 的要求。但 DisplayAttribute 返回“MyPropertyName”,而不是其 Name 参数的本地化字符串。

下面介绍了我使用 DisplayProperty 的场景。为了显示模型属性的属性属性,我使用带有辅助类的转换器,如下所示:

namespace MyProject.Converters
{
    // helper class
    public class MetadataParameters
    {
        public Type ModelType { get; set; }
        public string ModelProperty { get; set; }
        public Type AttributeType { get; set; }
        public string AttributeProperty { get; set; }
    }

    public class MetadataConverter …
Run Code Online (Sandbox Code Playgroud)

c# wpf attributes localization mvvm

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