Monday, March 19, 2007

C#中如何设置UITypeEditor不可编辑

发信人: yuzi (没有前途), 信区: DotNET
标 题: C#中如何设置UITypeEditor不可编辑?
发信站: 水木社区 (Tue Mar 13 16:54:51 2007), 站内

C#中如何设置UITypeEditor不可编辑?不是只读属性,比如一个file name string, 如何设置它只能通过pop up window 的选择结果来set value, 而不能手动的在editor里面敲字母
研究了半天,也没有找到怎么解决,谢谢了
--

被酒莫惊春睡重,赌书消得泼茶香。当时只道是寻常。


※ 修改:·yuzi 于 Mar 13 16:55:21 修改本文·[FROM: 203.86.47.*]
※ 来源:·水木社区 http://newsmth.net·[FROM: 203.86.47.*]

[本篇全文] [本篇作者:pseudocode] [进入讨论区] [返回顶部]2发信人: pseudocode (I can Run!), 信区: DotNET
标 题: Re: C#中如何设置UITypeEditor不可编辑?
发信站: 水木社区 (Wed Mar 14 05:50:25 2007), 站内


为你的属性声明一个TypeConvertor
public class TestTypeConvert1 : TypeConverter
{
//nothing
}

[TypeConvertor(typeof(TestTypeConvertor1))]
public string Pro
{
get;
set;
}

程序打包时,如何将Framework一并打包入内

发信人: pseudocode (I can Run!), 信区: DotNET
标 题: Re: 程序打包时,如何将Framework一并打包入内?请教高手
发信站: 水木社区 (Tue Mar 13 11:05:52 2007), 站内

选中你的setup project

右键点project node
在对话框中按Prerequisites这个按钮,手头没有中文版,意思应该是安装先决条件

一般来说,.Net Framework这个选项都是事先选好的,如果你想要把Framewok和你的setup文件放到一起,可以选第二个选项 Download prerequisites from the same location as my application.

这样,安装程序build完成后同一个目录下就会出现Framework的安装包

Tuesday, March 13, 2007

用Sql语句和存储过程访问数据库有什么不同

发信人: tantanmx (花生米|弥勒佛保佑,博到户口), 信区: DotNET
标 题: 用Sql语句和存储过程访问数据库有什么不同
发信站: 水木社区 (Sun Mar 11 14:35:04 2007), 站内

最近总被人问到,实在不知道该怎么回答



--
就是一个七日,接着又一个七日


※ 来源:·水木社区 newsmth.net·[FROM: 211.99.222.*]

[本篇全文] [本篇作者:pseudocode] [进入讨论区] [返回顶部]2发信人: pseudocode (I can Run!), 信区: DotNET
标 题: Re: 用Sql语句和存储过程访问数据库有什么不同
发信站: 水木社区 (Sun Mar 11 14:46:09 2007), 站内

存储过程方便同时开发,维护方便,安全性更高,不容易发生sql inject

【 在 tantanmx (花生米|弥勒佛保佑,博到户口) 的大作中提到: 】
: 最近总被人问到,实在不知道该怎么回答


--

※ 来源:·水木社区 newsmth.net·[FROM: 63.252.121.*]

[本篇全文] [本篇作者:tantanmx] [进入讨论区] [返回顶部]3发信人: tantanmx (花生米|弥勒佛保佑,博到户口), 信区: DotNET
标 题: Re: 用Sql语句和存储过程访问数据库有什么不同
发信站: 水木社区 (Sun Mar 11 14:57:12 2007), 站内

对哈,谢谢



【 在 pseudocode (I can Run!) 的大作中提到: 】
: 存储过程方便同时开发,维护方便,安全性更高,不容易发生sql inject


--
就是一个七日,接着又一个七日


※ 来源:·水木社区 newsmth.net·[FROM: 211.99.222.*]

[本篇全文] [本篇作者:Nineteen] [进入讨论区] [返回顶部]4发信人: Nineteen (在哪里倒下,就在哪里躺下!), 信区: DotNET
标 题: Re: 用Sql语句和存储过程访问数据库有什么不同
发信站: 水木社区 (Sun Mar 11 19:10:40 2007), 站内

使用存储过程和sql语句另外一点很大的不同是执行计划的生成,这个东东在执行频繁的任务上会对数据库性能产生很大影响

【 在 pseudocode (I can Run!) 的大作中提到: 】
: 存储过程方便同时开发,维护方便,安全性更高,不容易发生sql inject


--
数年前的这一天,她正被那携带着巨大骨龙的灰袍女孩拦下。银眸、黑发、
赤足以及巨大的死神镰刀,一起构成了一副令人永生不忘的画卷。

那一刻的感觉,自此铭刻在她的心底,并在此时重新升起,占据了她意识的
全部空间,从此定格。

Saturday, March 03, 2007

VSTO Excel addin deploy 问题.

自从微软推出VSTO后,Office插件的开发变的简单了许多。但是要发布的时候,需要做的事情却太多了 :(
如果直接使用创建出来的setup工程啥都不改,基本上这个addin装到别的机器上是用不了的。。

下面是一些问题和参考解决方案
1.可以参考微软的msdn文档
http://msdn2.microsoft.com/en-us/library/aa537173(office.11).aspx
2.如果VSTO的addin没有load进来,可以这样做:
a.开一个cmd窗口
b.输入 set VSTO_SUPPRESSDISPLAYALERTS=0
c. 再启动office程序,如excel等。
这样的话,VSTO如果出错,它就会有个对话框跳出来。

3.如果错误信息是Failed to grant permission to execute. (Exception from HRESULT: 0x80131418). 这就是因为VSTO的addin要求系统给它FullTrust的权限,如果权限不够的话,是运行不了的。在前面的链接中,它有个download,里面是一些VSTO 发布时常用的东西,如设置安全限制,更新manifest文件等。
4. 设置安全限制的类是一个Installer,这个需要设置Setup工程的Custom Action。 设置好后在Custom Date处填上参数。

5.在Vsita下,如果使用了前面下载的SetSecurity,可能会出现下面的错误Windows Installer MSI packages error code 2869。点了确认以后会出现一个空白的对话框,然后安装就失败了。
这是因为Vsita的安全控制问题,在SetSecurtiy类里面,它会调用一个exe来设置安全限制,所以在Vista下会因为没有权限运行exe而失败,一个解决办法是创建一个bat文件,然后输入 msiexec /i "you_msi_package.msi" 保存后,右键点击bat,然后选择"Run as administrator"。这个问题一般可以解决掉。 但是有的时候,这样做的时候,还是同样的错误,这个时候最好把设置权限的部分修改一下,直接调用Framework的类库来赋给安全权限。
可以参考http://msdn2.microsoft.com/en-us/library/system.security.securitymanager.aspx
里的创建codegroup的示例代码,记住,要创建的权限是"FullTrust".

Update:
如果Vista启动了UAC,那么运行安装程序时还是会出现2869错误,还是因为Vista的权限控制问题-_-
这个时候可以参考http://blogs.msdn.com/astebner/archive/2006/10/23/mailbag-how-to-set-the-noimpersonate-flag-for-a-custom-action-in-visual-studio-2005.aspx
的做法:
1。 下载这个文件 sample script 并解压到你的setup project 目录下
2。在VS2005中打开这个project
3。按F4显示属性列表
4。在解决方案里单击你的setup project
5。点PostBuildEvent项,会出现一个"..."的按钮
6。点这个按钮会出来Post-Build-Event对话框
7。把下面的命令行加进去。
:cscript.exe "$(ProjectDir)CustomAction_NoImpersonate.js" "$(BuiltOuputPath)"
8。重新编译整个solution


Reference:
http://xldennis.wordpress.com/2007/03/10/creating-and-deploying-managed-com-add-ins-with-vsto-2005-se-part-vii/

Wednesday, February 28, 2007

把多个文件打包成Cab

一般常用打cab包的是用makecab.exe
但是makecab打包多个文件时比较麻烦.


微软还有一个工具,IExpress.exe,这个工具是图形界面,用起来还行,就是不支持生成的文件的长文件名,要生成后自己手动改.

更方便的,cabarc.exe