C# Winform打包部署时添加注册表信息实现开机启动.
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Winform打包部署时添加注册表信息实现开机启动.相关的知识,希望对你有一定的参考价值。
开机后程序运行环境在C:\Documents and Settings\Administrator,而不是程序安装路径。
请问如何解决?
注册表配置图如下表:
if (!System.IO.File.Exists(KJLJ))//判断指定文件是否存在
return;
string newKJLJ = KJLJ.Substring(KJLJ.LastIndexOf("\\\\") + 1);
RegistryKey Rkey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run", true);
if (Rkey == null)
Rkey = Registry.LocalMachine.CreateSubKey("SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run");
Rkey.SetValue(newKJLJ, KJLJ)
这个是我之前写的开机启动,我没有写在打包部署里,而是程序启动的public Form1()里,每次启动都检查注册表有没有自启动,没有加上!
你只需要把KJLJ这个变量赋值你的路径即可
追问兄弟,我的问题你可能还没明白。
我的程序已经加入到注册表了,但是电脑启动的时候,程序自启动的时候位置是在C:\Documents and Settings\Administrator这里,在这里找相关程序文件或生成文件,而不是安装路径。故问题出现了
我的意思你的自启动可以换我这种方式。。。或者用我这种方式修改你注册表里自启动的路径
追问效果一样哈,没啥区别
追答什么效果一样?
VS2013打包部署winform程序
http://www.tuicool.com/articles/vMfMJr
http://www.itnose.net/detail/6085548.html
第一步:公司名称和程序名称不需要更改的话直接设置语言,更改字体
第二步:添加 .NET Framework package ,版本视自己的程序而定
第三步:添加程序文件,现在就需要打开自己的程序位置,看看bin/Release路径下有没有文件,如果没有就要把解决方案配置改为Release模式然后重新生成解决方案。生成完毕Release下的所有文件都添加进去,如果是分层写的程序,每层的Release文件夹的内容都要添加。
第四步:设置快捷方式
第五步:打开解决方案下Releases,设置Setup.exe,最后把解决方案配置改成SingleImage(生成单一映像),重新生成解决方案后程序就打包好了。
以上是关于C# Winform打包部署时添加注册表信息实现开机启动.的主要内容,如果未能解决你的问题,请参考以下文章
[Winform]setupfactory打包时添加开机自启动的脚本