c# winform打包后,安装上之后没法运行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# winform打包后,安装上之后没法运行?相关的知识,希望对你有一定的参考价值。

有四个东西,一个是.exe.文件,一个是.msi文件,一个是WindowsInstaller3_1文件夹,一个是DotNetFX35文件夹。在调试这台电脑可以运行,但是在其它电脑上无法运行,安装了360安全卫士反而可以运行。请问如何解决?
现在找到问题点了:程序是因为安装在D盘(非系统安装盘),导致的无法运行,为什么会这样?
安装到C盘(系统安装盘)的程序就没有这样的状况。

是不是缺少什么组件的?看一下你使用的东西,有没有系统额外的东西,因为安360以后可以运行,可能是360把你缺少的东西安装了,你的程序就没有问题了。
祝你好运!!!!追问

应该不会是360安装了程序缺少的东西,360运行的时候我的程序就可以运行,360退出后我的程序就没法运行了。

追答

是不是权限的问题,以管理员身份运行试一下,还有可能是360认为是恶意程序,只能在360的监控下运行

参考技术A 一般都是没有安装.net,装一下DotNetFX35里面的msi一般就好追问

重装DotNetFX35里面的msi问题依旧

追答

换台机器试试呢,有没有可能是这台电脑系统有问题了。

追问

其它机器也是如此

追答

这么神奇的事情。你试试把整个VisualStudio装上去吧,如果还不行,那就智能用windbg调试了

参考技术B .net是不是没有安装上去?追问

安装上去了的,打包就将DotNetFX35打进去了的

追答

你检查系统上有没有3.5,打包进去不一定能安装成功

检查程序中所有有路径的地方,看看是不是直接引用了c 盘上的什么东西,而D盘上又不可能有

C# winform 程序,在用SaveFileDialog选择完路径后,主界面如何置顶?

没法置顶,
选完路径点了确定之后SaveFileDialog关闭,点确定的事件中你可以把路径记录在其他地方不一定非得确定就保存.
参考技术A SaveFileDialog实际是个模态窗体,所以主界面无法置顶;
如果你非要达到这样的效果,自己做一个类似SaveFileDialog的窗体。
参考技术B StreamWriter writer;
StreamReader reader;
FileStream fs;
private void openBtn_Click(object sender, System.EventArgs e)

string theFile;
openFileDialog1.InitialDirectory=Application.ExecutablePath;
openFileDialog1.Filter="word Files(*.doc)|*.doc|All Files(*.*)|*.*";
if (openFileDialog1.ShowDialog()==DialogResult.OK )

theFile=openFileDialog1.FileName;
try

fs=new FileStream(theFile,FileMode.Open);
reader=new StreamReader(fs);
textBox1.Text=reader.ReadToEnd();

catch(Exception excep)

MessageBox.Show(excep.Message);

finally

reader.Close();
fs.Close();




private void saveBtn_Click(object sender, System.EventArgs e)

string theFile;
saveFileDialog1.InitialDirectory=Application.ExecutablePath;
saveFileDialog1.Filter="word Files(*.doc)|*.doc|All Files(*.*)|*.*";
saveFileDialog1.OverwritePrompt=true;
saveFileDialog1.ShowDialog();
theFile=saveFileDialog1.FileName;
try

fs=new FileStream(theFile,FileMode.Create);
writer=new StreamWriter(fs);
writer.Write(textBox1.Text);

catch (Exception excep)

MessageBox.Show(excep.Message);

finally

writer.Flush();
writer.Close();
fs.Close();


你试一下

以上是关于c# winform打包后,安装上之后没法运行?的主要内容,如果未能解决你的问题,请参考以下文章

c# winform程序发布后运行时出现的一个问题

C# Winform项目打包问题

C# winform 程序,在用SaveFileDialog选择完路径后,主界面如何置顶?

c# winform中的字体问题?

VS2008如何将C#写的Winform程序打包成安装包?

winform程序为啥要打包成安装文件呢