我们目前有4个客户端软件安装程序:
它们之间的唯一区别是安装程序包含Crystal Reports可再发行文件,而Update不包含.测试和生产只是指定它们运行的环境,唯一的区别是Client.exe.config文件中有一行.
愚蠢,我知道,这就是为什么我在删除Crystal Reports后用一个安装程序替换它们的原因.新安装程序将所选环境写入setup.config,该文件由file属性引用(请参阅此处).
"file"属性是使用此新安装程序的配置文件的新属性.我遇到的问题是,如果我们修改旧安装上的Client.exe.config文件,然后运行新安装程序,配置文件永远不会使用"file"属性进行更新.
有没有办法强迫它更新文件?RemovePreviousVersions并不完全有效,因为它是一个不同的安装程序,除非我误解了一些东西.我当前的想法可能会起作用,就是在OnBeforeInstall方法中添加代码以将旧的Client.exe.config重命名为备份文件,因此它总是会编写新的.看起来安装程序本身应该有一个更简单的解决方案.有任何想法吗?
编辑:在调用base.OnBeforeInstall()之前将旧的配置文件重命名为Client.exe.config.old不起作用.它重命名了该文件,但从未编写过新文件.
我尝试从Tomcat中调用Web应用程序中的MBean方法.目标MBean在JBoss 4.2.3下运行.Tomcat和JBoss应用程序都使用相同类的jar相同版本,但在调用时我看到以下异常:
Caused by: java.lang.ClassNotFoundException: ...thisClass... (no security manager: RMI class loader disabled)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:375)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:165)
at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
at org.jboss.system.JBossRMIClassLoader.loadClass(JBossRMIClassLoader.java:91)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at java.util.ArrayList.readObject(ArrayList.java:593)
at sun.reflect.GeneratedMethodAccessor164.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at java.util.HashMap.readObject(HashMap.java:1030)
at sun.reflect.GeneratedMethodAccessor163.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1667)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at java.rmi.MarshalledObject.get(MarshalledObject.java:142)
at …Run Code Online (Sandbox Code Playgroud) 我试图找出如何检查SQL Server中是否存在数据库角色.我想做这样的事情:
if not exists (select 1 from sometable where rolename='role')
begin
CREATE ROLE role
AUTHORIZATION MyUser;
end
Run Code Online (Sandbox Code Playgroud)
我应该在这里使用什么表/ proc?
例如,在UNIX上,我可以告诉操作系统将来需要映射posix_fadvise(POSIX_FADV_WILLNEED).然后,如果感觉如此,它将预读数据.
如何告诉访问打算Windows?
也许我错过了一些简单的东西,但是经过一段时间看这个我无法弄清楚.
我想检查表单上的数据库中是否为布尔值,如果它显示向上箭头,如果不是向下箭头.
我有这个
<% for probe in @probes %>
<tr id="<%= cycle('list-line-odd', 'list-line-even') %>">
<td>
<%= if probe.online = true %>
<%= image_tag("online-icon.png", :alt => "Online") %>
<%= end %>
</td>
<td><%= link_to probe.probe_name, probe %></td>
</tr>
<% end %>
Run Code Online (Sandbox Code Playgroud)
但它回来了这个错误
编译错误
syntax error, unexpected ')', expecting kTHEN or ':' or '\n' or ';'
@output_buffer.concat "\t \t"; @output_buffer.concat(( if probe.online = true ).to_s);
@output_buffer.concat "\n"
syntax error, unexpected kEND
@output_buffer.concat " \t \t"; @output_buffer.concat(( end ).to_s);@output_buffer.concat "\n"
Run Code Online (Sandbox Code Playgroud)
用箭头指着 .to_s
我正在尝试在X11会话中获取所有顶级桌面窗口的列表.基本上,我想获得窗口管理器应用程序切换UI中显示的所有窗口的列表(通常在用户按下ALT + TAB时打开).
我之前从未做过任何X11编程,但到目前为止,我已经设法通过整个窗口列表进行枚举,代码看起来像这样:
void CSoftwareInfoLinux::enumerateWindows(Display *display, Window rootWindow)
{
Window parent;
Window *children;
Window *child;
quint32 nNumChildren;
XTextProperty wmName;
XTextProperty wmCommand;
int status = XGetWMName(display, rootWindow, &wmName);
if (status && wmName.value && wmName.nitems)
{
int i;
char **list;
status = XmbTextPropertyToTextList(display, &wmName, &list, &i);
if (status >= Success && i && *list)
{
qDebug() << "Found window with name:" << (char*) *list;
}
status = XGetCommand(display, rootWindow, &list, &i);
if (status >= Success && i && *list)
{
qDebug() …Run Code Online (Sandbox Code Playgroud) 当我在SM中注册以下内容然后尝试创建实例时,我得到了异常 - 'StructureMap异常代码:202没有为PluginFamily定义默认实例......'
Scan(x =>
{
x.Assembly("MVCDemo");
x.Assembly("MVCDemo.Infrastructure");
x.Assembly("MVCDemo.Services");
x.AddAllTypesOf(typeof (IRepository<>));
});
ForRequestedType<IRepository<Employee>>().TheDefault.Is.ConstructedBy(() => new EmployeeRepository());
var tmp4 = ObjectFactory.GetInstance<IRepository<Employee>>();
Run Code Online (Sandbox Code Playgroud)
当我尝试获取IRepository的实例时会发生异常.
有谁知道我错过了什么?
干杯
奥利
我需要编写一个函数来解析包含域名的变量.我最好用一个例子来解释这个,变量可以包含以下任何一个:
here.example.com
example.com
example.org
here.example.org
Run Code Online (Sandbox Code Playgroud)
但是当通过我的函数时,所有这些必须返回example.com或example.co.uk,基本上是域名.我确定我以前做过这个,但我一直在谷歌搜索大约20分钟,但找不到任何东西.任何帮助,将不胜感激.
编辑:忽略.co.uk,假设通过此功能的所有域都有3个字母的TLD.
我正在尝试使用SDL_Mixer 1.2构建Visual C++ 2008 DLL:
http://www.libsdl.org/projects/SDL_mixer/
这应该来自为Visual C++构建的,但是当我包含SDL_mixer.h时,我收到错误C2143:" 语法错误:缺少';' 在'[' " 之前.
问题在于:
const char [] MIX_EFFECTSMAXSPEED ="MIX_EFFECTSMAXSPEED";
这是因为使用动态数组构造"char []"而不是"char*"?
文件中的所有表达式都用" extern "C" {" 包装.