首頁 資料庫 mysql教程 基于4.5Framework web程序、SQLSERVER数据库打包

基于4.5Framework web程序、SQLSERVER数据库打包

Jun 07, 2016 pm 03:35 PM
web 基於 程式

估计很多朋友和我一样,对于C/S程序打包很熟悉,但对于B/S程序打包一头雾水。。。 最近公司要求我们把项目和数据库(SQLSERVER)一起打包,然后安装在CD光盘上,打算拿光盘去客户那边实现一键安装。哎!!!最终这个任务给我了, 我只有抱着学习的态度去慢慢摸

  估计很多朋友和我一样,对于C/S程序打包很熟悉,但对于B/S程序打包一头雾水。。。

  最近公司要求我们把项目和数据库(SQLSERVER)一起打包,然后安装在CD光盘上,打算拿光盘去客户那边实现一键安装。哎!!!最终这个任务给我了,

我只有抱着学习的态度去慢慢摸索。

  打包的程序是基于VS2012、MVC4模板开发出来的,框架是4.5版本。

  类似于这种4.5框架打包,目前微软好像也提供了一个打包工具 InstallShield,下载InstallShield2012 或者InstallShield2013,然后安装,安装完成之后就会

安装和部署里面会生成一个图标(InstallShield Limited Edition Project), 如下图(1.1)。。

           基于4.5Framework  web程序、SQLSERVER数据库打包

                                  图(1.1)

 通过双击 InstallShield Limited Edition Project这个图标,就可以根据前进后退图标实现安装了,如图(1.2)

               基于4.5Framework  web程序、SQLSERVER数据库打包

                                图(1.2)

最终WEB打包生成出来的只是一个lnk快捷方式图标,无法指定到输出文件。然后我用C/S WINFORM程序、也是基于4.5框架来进行打包,发现安装生成出来的

文件可以完美运行。

产生这种情况我也感到很无语,于是在网上查找这方面的相关资料,发现InstallShield这款插件从2010开始,微软已经不管了,只是推荐这款插件。

哎!!!真坑...

基于这种情况我彻底无语了,只能从新找其他办法。

之后我就开始尝试把4.5框架程序降到4.0框架程序,然后再次进行打包。

降框架有两种办法:1.在VS2012上面打开, 更改所有程序集的目标框架,如图(1.3)

                 基于4.5Framework  web程序、SQLSERVER数据库打包

                               如图(1.3)

       2. 用文本打开项目文件进行更改,更改TargetFrameworkVersion 为v4.0 如图(1.4)

                   基于4.5Framework  web程序、SQLSERVER数据库打包

                                                                                    图(1.4)

 但是如果在4.5框架程序中引用了4.5版本的包,那也要对包进行降版本。去掉引用的包,或者找低版本的包来替代高版本的包

下面开始讲解用VS2010打包 4.0WEB程序

          1.用VS2010打开即将要打包的WEB程序(图就省了。。)

          2.右击解决方案一>添加一>新建项目,然后点击web安装项目,如图(1.5)

         基于4.5Framework  web程序、SQLSERVER数据库打包

                            图(1.5)

     3.右击安装包WebSetup1一>添加一>项目输出,然后选中项目WEB程序集 ,选中本地化资源、内容文件  如图(1.6)、(1.7)

    基于4.5Framework  web程序、SQLSERVER数据库打包

                                                                         图(1.6)

         基于4.5Framework  web程序、SQLSERVER数据库打包

                                                                                图(1.7)

          4.右击安装包一>视图一>用户界面  ,如图(1.8)

    基于4.5Framework  web程序、SQLSERVER数据库打包

                                                                         图(1.8)

            5.右击启动一>添加对话框一>选中文本框、许可协议,如图(1.9)

    基于4.5Framework  web程序、SQLSERVER数据库打包

                        图(1.9)

            6.右击文本框(A),许可协议上移到选定的位置, 如图(2.0)

    基于4.5Framework  web程序、SQLSERVER数据库打包

                    图(2.0)

      7.新建一个许可协议文件,打开WORD文档,里面写写协议内容,保存后WORD文档要改成rtf格式,然后右击许可协议一>属性窗口,在LicenseFile属性中点击浏览,如图(2.1)

        基于4.5Framework  web程序、SQLSERVER数据库打包

                      如图(2.1)

         8.双击Web应用程序文件夹,添加rtf文件,如图(2.2)

      基于4.5Framework  web程序、SQLSERVER数据库打包

                          图(2.2)

     9.右击解决方案一>新建项目一>类库,命名为安装类(我随便命名的),右击安装类一>添加一>新建类一>安装程序类,如图(2.3)

      基于4.5Framework  web程序、SQLSERVER数据库打包

                            图(2.3)

      10.双击安装类一>单击此处切换到代码视图,如图(2.4)

      基于4.5Framework  web程序、SQLSERVER数据库打包

                          如图(2.4)

      11.重写安装类,源码如下

    

<span>using</span><span> System;
</span><span>using</span><span> System.Collections;
</span><span>using</span><span> System.Collections.Generic;
</span><span>using</span><span> System.ComponentModel;
</span><span>using</span><span> System.Configuration.Install;
</span><span>using</span><span> System.Data.SqlClient;
</span><span>using</span><span> System.IO;
</span><span>using</span><span> System.Linq;


</span><span>namespace</span><span> 安装类
{
    [RunInstaller(</span><span>true</span><span>)]
    </span><span>public</span> <span>partial</span> <span>class</span><span> Installer : System.Configuration.Install.Installer
    {
        </span><span>public</span><span> Installer()
        {
            InitializeComponent();<br>
        }


        </span><span>///</span> <span><summary></summary></span>
        <span>///</span><span> 重写安装方法
        </span><span>///</span> <span></span>
        <span>///</span> <span><param name="stateSaver"></span>
        <span>public</span> <span>override</span> <span>void</span><span> Install(IDictionary stateSaver)
        {
            </span><span>base</span><span>.Install(stateSaver);
            </span><span>string</span> Server = Context.Parameters[<span>"</span><span>server</span><span>"</span><span>].ToString();
            </span><span>string</span> dbName = Context.Parameters[<span>"</span><span>dbname</span><span>"</span><span>].ToString();
            </span><span>string</span> userName = Context.Parameters[<span>"</span><span>user</span><span>"</span><span>].ToString();
            </span><span>string</span> userPass = Context.Parameters[<span>"</span><span>pwd</span><span>"</span><span>].ToString();
            </span><span>string</span> targetdir = Context.Parameters[<span>"</span><span>targetdir</span><span>"</span><span>].ToString();

            </span><span>/*</span><span>
            * 设置webconfig连接字符串
            </span><span>*/</span>
            <span>string</span> webconfigpath = Path.Combine(<span>this</span>.Context.Parameters[<span>"</span><span>targetdir</span><span>"</span>].ToString(), <span>"</span><span>web.config</span><span>"</span><span>);
            </span><span>//</span><span>修改第一个数据库连接</span>
            <span>string</span> webcofnigstring2 = File.ReadAllText(webconfigpath).Replace(<span>@"</span><span>server=JEFFREY9061\SQL2008;database=yd_esms;uid=sa;pwd=********</span><span>"</span><span>, GetConnectionString2());
            File.WriteAllText(webconfigpath, webcofnigstring2);
            </span><span>//</span><span>修改第二个数据连接</span>
            <span>string</span> webcofnigstring = File.ReadAllText(webconfigpath).Replace(<span>@"</span><span>Data Source=JEFFREY9061\SQL2008;Initial Catalog=yd_esms;Persist Security Info=True;User ID=sa;Password=******</span><span>"</span><span>, GetConnectionString());
            File.WriteAllText(webconfigpath, webcofnigstring);
            </span><span>//</span><span>这个是测试在安装目录下添加接收到的用户填写的数据库信息</span>
            File.WriteAllText(Path.Combine(targetdir, <span>"</span><span>log.txt</span><span>"</span>), Server + <span>"</span><span>/n/r</span><span>"</span> + dbName + <span>"</span><span>/n/r</span><span>"</span> + userName + <span>"</span><span>/n/r</span><span>"</span> +<span> userPass);
        }
        </span><span>///</span> <span><summary></summary></span>
        <span>///</span><span> 执行sql语句
        </span><span>///</span> <span></span>
        <span>///</span> <span><param name="connection"></span>
        <span>///</span> <span><param name="sql"></span>
        <span>void</span> ExecuteSQL(SqlConnection connection, <span>string</span><span> sql)
        {
            SqlCommand cmd </span>= <span>new</span><span> SqlCommand(sql, connection);
            cmd.ExecuteNonQuery();
        }
        </span><span>///</span> <span><summary></summary></span>
        <span>///</span><span> 获取文本框输入的信息,来插入到登录连接字符串
        </span><span>///</span> <span></span>        
        <span>///</span> <span><returns></returns></span>
        <span>private</span> <span>string</span><span> GetConnectionString()
        {
            </span><span>return</span> <span>@"</span><span>Data Source=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>server</span><span>"</span>] + <span>"</span><span>;Initial Catalog=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>dbname</span><span>"</span>] + <span>"</span><span>;Persist Security Info=True;User ID=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>user</span><span>"</span>] + <span>"</span><span>;Password=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>pwd</span><span>"</span>] + <span>""</span><span>;
        }
        </span><span>private</span> <span>string</span><span> GetConnectionString2()
        {
            </span><span>return</span> <span>@"</span><span>server=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>server</span><span>"</span>] + <span>"</span><span>;database=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>dbname</span><span>"</span>] + <span>"</span><span>;uid=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>user</span><span>"</span>] + <span>"</span><span>;pwd=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>pwd</span><span>"</span><span>];
        }
    }
}</span>
登入後複製

 

    12.安装类点击生成,又击WEB安装包一>添加一>项目输出,选中安装类为主输出,如图(2.5)

    基于4.5Framework  web程序、SQLSERVER数据库打包

                      如图(2.5)

    13.有击WEB安装包一>视图一>自定义操作,右击安装一>添加自定义操作一>双击Web应用程序文件夹,选中主输出来自安装类(活动),如图(2.6)

           基于4.5Framework  web程序、SQLSERVER数据库打包   

                        如图(2.6)

      14.依次对WEB程序、安装类、安装包重新生成

      15.右击安装包一>打开资源管理文件夹一>debug,在debug文件夹中会存在exe、msi两个文件,如图(2.7)

      基于4.5Framework  web程序、SQLSERVER数据库打包

                        如图(2.7)

     16.双击setup.exe 安装步骤如下

      基于4.5Framework  web程序、SQLSERVER数据库打包

 

      基于4.5Framework  web程序、SQLSERVER数据库打包

 

 

      基于4.5Framework  web程序、SQLSERVER数据库打包

 

 

      基于4.5Framework  web程序、SQLSERVER数据库打包

 

 

      基于4.5Framework  web程序、SQLSERVER数据库打包

 

 

      基于4.5Framework  web程序、SQLSERVER数据库打包

 

 

      基于4.5Framework  web程序、SQLSERVER数据库打包

     17.基本上再这里就算结束了,后面的我就不用演示了。

下面讲解如何把SQLSERVER数据库和程序一键打包,打包数据库其实很简单

      分离数据库,找到对应的ldf、mdf文件进行复制,粘贴到任意盘,我是放到桌面了,如图(3.1)

              基于4.5Framework  web程序、SQLSERVER数据库打包

                    图(3.1)

    

      右击安装包一>添加一>文件,把ldf、mdf文件添加进去,如图(3.2)

              基于4.5Framework  web程序、SQLSERVER数据库打包、  

                图(3.2)

      打开安装类,添加一段代码,结合WEB源码如下 

<span>using</span><span> System;
</span><span>using</span><span> System.Collections;
</span><span>using</span><span> System.Collections.Generic;
</span><span>using</span><span> System.ComponentModel;
</span><span>using</span><span> System.Configuration.Install;
</span><span>using</span><span> System.Data.SqlClient;
</span><span>using</span><span> System.IO;
</span><span>using</span><span> System.Linq;


</span><span>namespace</span><span> 安装类
{
    [RunInstaller(</span><span>true</span><span>)]
    </span><span>public</span> <span>partial</span> <span>class</span><span> Installer : System.Configuration.Install.Installer
    {
        </span><span>public</span><span> Installer()
        {
            InitializeComponent();
        }

        </span><span>///</span> <span><summary></summary></span>
        <span>///</span><span> 重写安装方法
        </span><span>///</span> <span></span>
        <span>///</span> <span><param name="stateSaver"></span>
        <span>public</span> <span>override</span> <span>void</span><span> Install(IDictionary stateSaver)
        {
            </span><span>base</span><span>.Install(stateSaver);
            </span><span>string</span> Server = Context.Parameters[<span>"</span><span>server</span><span>"</span><span>].ToString();
            </span><span>string</span> dbName = Context.Parameters[<span>"</span><span>dbname</span><span>"</span><span>].ToString();
            </span><span>string</span> userName = Context.Parameters[<span>"</span><span>user</span><span>"</span><span>].ToString();
            </span><span>string</span> userPass = Context.Parameters[<span>"</span><span>pwd</span><span>"</span><span>].ToString();
            </span><span>string</span> targetdir = Context.Parameters[<span>"</span><span>targetdir</span><span>"</span><span>].ToString();

            </span><span>/*</span><span>
            * 设置webconfig连接字符串
            </span><span>*/</span>
            <span>string</span> webconfigpath = Path.Combine(<span>this</span>.Context.Parameters[<span>"</span><span>targetdir</span><span>"</span>].ToString(), <span>"</span><span>web.config</span><span>"</span><span>);
            </span><span>//</span><span>修改第一个数据库连接</span>
            <span>string</span> webcofnigstring2 = File.ReadAllText(webconfigpath).Replace(<span>@"</span><span>server=JEFFREY9061\SQL2008;database=yd_esms;uid=sa;pwd=********</span><span>"</span><span>, GetConnectionString2());
            File.WriteAllText(webconfigpath, webcofnigstring2);
            </span><span>//</span><span>修改第二个数据连接</span>
            <span>string</span> webcofnigstring = File.ReadAllText(webconfigpath).Replace(<span>@"</span><span>Data Source=JEFFREY9061\SQL2008;Initial Catalog=yd_esms;Persist Security Info=True;User ID=sa;Password=******</span><span>"</span><span>, GetConnectionString());
            File.WriteAllText(webconfigpath, webcofnigstring);
            </span><span>//</span><span>这个是测试在安装目录下添加接收到的用户填写的数据库信息</span>
            File.WriteAllText(Path.Combine(targetdir, <span>"</span><span>log.txt</span><span>"</span>), Server + <span>"</span><span>/n/r</span><span>"</span> + dbName + <span>"</span><span>/n/r</span><span>"</span> + userName + <span>"</span><span>/n/r</span><span>"</span> +<span> userPass);
            </span><span>#region</span> 数据库处理
            <span>string</span> strSql = <span>""</span><span>;
            </span><span>if</span> (userPass == <span>""</span><span>)            
            {
                strSql </span>= <span>"</span><span>server=</span><span>"</span> + Server + <span>"</span><span>;database=master;Integrated Security=True</span><span>"</span>;<span>//</span><span>连接数据库字符串      </span>
<span>            }           
            </span><span>else</span><span>             
            {
                strSql </span>= <span>"</span><span>server=</span><span>"</span> + Server + <span>"</span><span>;uid=</span><span>"</span> + userName + <span>"</span><span>;pwd=</span><span>"</span> + userPass + <span>"</span><span>;database=master</span><span>"</span>;<span>//</span><span>连接数据库字符串                </span>
<span>            }            
            </span><span>string</span> DataName = <span>"</span><span>TEST</span><span>"</span>;<span>//</span><span>数据库名          </span>
            <span>string</span> strMdf = targetdir + <span>@"</span><span>TEST.mdf</span><span>"</span>;<span>//</span><span>MDF文件路径,这里需注意文件名要与刚添加的数据库文件名一样!      </span>
            <span>string</span> strLdf = targetdir + <span>@"</span><span>TEST_log.ldf</span><span>"</span>;<span>//</span><span>LDF文件路径       </span>
            <span>base</span><span>.Install(stateSaver);
            </span><span>this</span>.CreateDataBase(strSql, DataName, strMdf, strLdf, targetdir);<span>//</span><span>开始创建数据库 </span>
            <span>#endregion</span><span>
        }
        </span><span>///</span> <span><summary></summary></span>
        <span>///</span><span> 执行sql语句
        </span><span>///</span> <span></span>
        <span>///</span> <span><param name="connection"></span>
        <span>///</span> <span><param name="sql"></span>
        <span>void</span> ExecuteSQL(SqlConnection connection, <span>string</span><span> sql)
        {
            SqlCommand cmd </span>= <span>new</span><span> SqlCommand(sql, connection);
            cmd.ExecuteNonQuery();
        }
        </span><span>///</span> <span><summary></summary></span>
        <span>///</span><span> 获取文本框输入的信息,来插入到登录连接字符串
        </span><span>///</span> <span></span>        
        <span>///</span> <span><returns></returns></span>
        <span>private</span> <span>string</span><span> GetConnectionString()
        {
            </span><span>return</span> <span>@"</span><span>Data Source=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>server</span><span>"</span>] + <span>"</span><span>;Initial Catalog=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>dbname</span><span>"</span>] + <span>"</span><span>;Persist Security Info=True;User ID=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>user</span><span>"</span>] + <span>"</span><span>;Password=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>pwd</span><span>"</span>] + <span>""</span><span>;
        }
        </span><span>private</span> <span>string</span><span> GetConnectionString2()
        {
            </span><span>return</span> <span>@"</span><span>server=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>server</span><span>"</span>] + <span>"</span><span>;database=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>dbname</span><span>"</span>] + <span>"</span><span>;uid=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>user</span><span>"</span>] + <span>"</span><span>;pwd=</span><span>"</span> + <span>this</span>.Context.Parameters[<span>"</span><span>pwd</span><span>"</span><span>];
        }

        </span><span>///</span> <span><summary></summary></span>   
        <span>///</span><span> 附加数据库方法        
        </span><span>///</span> <span></span>          
        <span>///</span> <span><param name="strSql"></span><span>连接数据库字符串,连接master系统数据库</span><span></span>        
        <span>///</span> <span><param name="DataName"></span><span>数据库名字</span><span></span>          
        <span>///</span> <span><param name="strMdf"></span><span>数据库文件MDF的路径</span><span></span>        
        <span>///</span> <span><param name="strLdf"></span><span>数据库文件LDF的路径</span><span></span>        
        <span>///</span> <span><param name="path"></span><span>安装目录</span><span></span>         
         <span>private</span> <span>void</span> CreateDataBase(<span>string</span> strSql, <span>string</span> DataName, <span>string</span> strMdf, <span>string</span> strLdf, <span>string</span><span> path)      
         {             
             SqlConnection myConn </span>= <span>new</span><span> SqlConnection(strSql);         
             String str </span>= <span>null</span><span>;            
             </span><span>try</span><span>
             {
                 str </span>= <span>"</span><span> EXEC sp_attach_db @dbname='</span><span>"</span> + DataName + <span>"</span><span>',@filename1='</span><span>"</span> + strMdf + <span>"</span><span>',@filename2='</span><span>"</span> + strLdf +
                       <span>"</span><span>'</span><span>"</span><span>;
                 SqlCommand myCommand </span>= <span>new</span><span> SqlCommand(str, myConn);
                 myConn.Open();
                 myCommand.ExecuteNonQuery();
                 </span><span>//</span><span>MessageBox.Show("数据库安装成功!点击确定继续");
                 </span><span>//</span><span>需Using System.Windows.Forms           </span>
<span>             }
             </span><span>catch</span><span> (Exception ex)
             {
                 Console.Write(ex.StackTrace.ToString());
                 </span><span>//</span><span>MessageBox.Show("数据库安装失败!" + e.Message + "\n\n" + "您可以手动附加数据");  </span>
<span>                 System.Diagnostics.Process.Start(path);
                 </span><span>//</span><span>打开安装目录           </span>
<span>             }
             </span><span>finally</span><span>
             {
                 myConn.Close();
             }        
         }
    }
}</span>
登入後複製

 

  最后把解决方案全部重新生成,再次重复上面的WEB打包、安装就好了。。。

  由于空余的时间不是很多,写的不是很详细,如有不懂的,可以来我QQ群一起讨论

 QQ群号: 8017417   身份认证:Rach技术讨论

http://www.cnblogs.com/hank-hu/p/3967101.html 

  

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在iPhone中使Google地圖成為預設地圖 如何在iPhone中使Google地圖成為預設地圖 Apr 17, 2024 pm 07:34 PM

iPhone上的預設地圖是Apple專有的地理位置供應商「地圖」。儘管地圖越來越好,但它在美國以外的地區運作不佳。與谷歌地圖相比,它沒有什麼可提供的。在本文中,我們討論了使用Google地圖成為iPhone上的預設地圖的可行性步驟。如何在iPhone中使Google地圖成為預設地圖將Google地圖設定為手機上的預設地圖應用程式比您想像的要容易。請依照以下步驟操作–先決條件步驟–您必須在手機上安裝Gmail。步驟1–開啟AppStore。步驟2–搜尋“Gmail”。步驟3–點選Gmail應用程式旁

如何透過C++編寫一個簡單的倒數計時程式? 如何透過C++編寫一個簡單的倒數計時程式? Nov 03, 2023 pm 01:39 PM

C++是一種廣泛使用的程式語言,在編寫倒數計時器方面非常方便且實用。倒數計時程式是一種常見的應用,它能為我們提供非常精確的時間計算和倒數功能。本文將介紹如何使用C++來寫一個簡單的倒數計時程式。實現倒數程序的關鍵就是使用計時器來計算時間的流逝。在C++中,我們可以使用time.h頭檔中的函數來實作計時器的功能。下面是一個簡單的倒數計時程式的程式碼

iPhone中缺少時鐘應用程式:如何修復 iPhone中缺少時鐘應用程式:如何修復 May 03, 2024 pm 09:19 PM

您的手機中缺少時鐘應用程式嗎?日期和時間仍將顯示在iPhone的狀態列上。但是,如果沒有時鐘應用程序,您將無法使用世界時鐘、碼錶、鬧鐘等多項功能。因此,修復時鐘應用程式的缺失應該是您的待辦事項清單的首位。這些解決方案可以幫助您解決此問題。修復1–放置時鐘應用程式如果您錯誤地從主畫面中刪除了時鐘應用程序,您可以將時鐘應用程式放回原位。步驟1–解鎖iPhone並開始向左側滑動,直到到達「應用程式庫」頁面。步驟2–接下來,在搜尋框中搜尋「時鐘」。步驟3–當您在搜尋結果中看到下方的「時鐘」時,請按住它並

如何使用任務規劃程式開啟網站 如何使用任務規劃程式開啟網站 Oct 02, 2023 pm 11:13 PM

您是否每天在大約相同的時間頻繁地造訪同一網站?這可能會導致花費大量時間打開多個瀏覽器選項卡,並在執行日常任務時使瀏覽器充滿混亂。好吧,打開它而不必手動啟動瀏覽器怎麼樣?這非常簡單,不需要您下載任何第三方應用程序,如下所示。如何設定任務計劃程序以開啟網站?按鍵,在搜尋框中鍵入任務計劃程序,然後按一下開啟。 Windows在右側側邊欄上,按一下「建立基本任務」選項。在名稱欄位中,輸入要開啟的網站的名稱,然後按一下下一步。接下來,在觸發器下,按一下時間頻率並點擊下一步。選擇您希望活動重複多長時間並點擊下一步。選擇啟

iOS 17:如何在「訊息」中組織iMessage應用程式 iOS 17:如何在「訊息」中組織iMessage應用程式 Sep 18, 2023 pm 05:25 PM

在iOS17中,蘋果不僅增加了幾個新的訊息功能,而且還調整了訊息應用程式的設計,使其外觀更乾淨。現在,所有iMessage應用程式和工具(如相機和照片選項)都可以透過點擊鍵盤上方和文字輸入欄位左側的「+」按鈕來存取。點擊“+”按鈕會彈出一個選單列,該列具有預設的選項順序。從頂部開始,有相機,照片,貼紙,現金(如果可用),音訊和位置。最底部是一個「更多」按鈕,點擊該按鈕時會顯示任何其他已安裝的訊息應用程式(您也可以向上滑動以顯示此隱藏清單)。如何重新組織您的iMessage應用程式您可以透過以下方

無法允許存取 iPhone 中的相機和麥克風 無法允許存取 iPhone 中的相機和麥克風 Apr 23, 2024 am 11:13 AM

您在嘗試使用應用程式時是否收到“無法允許存取攝影機和麥克風”?通常,您可以在需要提供的基礎上向特定物件授予攝影機和麥克風權限。但是,如果您拒絕權限,攝影機和麥克風將無法運作,而是顯示此錯誤訊息。解決這個問題是非常基本的,你可以在一兩分鐘內完成。修復1–提供相機、麥克風權限您可以直接在設定中提供必要的攝影機和麥克風權限。步驟1–轉到“設定”選項卡。步驟2–打開「隱私與安全」面板。步驟3–在那裡打開“相機”權限。步驟4–在裡面,您將找到已要求手機相機權限的應用程式清單。步驟5–開啟指定應用的“相機”

修復:系統驅動程式被鎖定到製造商規格 修復:系統驅動程式被鎖定到製造商規格 Sep 23, 2023 pm 07:25 PM

圖形驅動程式是PC上最重要的驅動程式之一,直接影響效能和遊戲體驗。但是,當透過安裝程式更新驅動程式時,許多人遇到“您的系統具有鎖定到製造商規格的驅動程式”錯誤。出現此問題的原因是製造商限制更新,除非從其末端專門推送更新。這確保了穩定性,但對許多人來說可能是一個問題。因此,讓我們找出如何立即解決問題!如何修復您的系統具有鎖定在Windows11上的製造商規格的驅動程式?在我們轉向稍微複雜的解決方案之前,請先嘗試以下快速解決方案:確保你的電腦和作業系統符合驅動程式的系統要求。將電腦啟動到安全模式,然

已修正:在 Windows 11 上開啟應用程式時發生錯誤顯示器 已修正:在 Windows 11 上開啟應用程式時發生錯誤顯示器 Oct 12, 2023 pm 08:21 PM

如果你使用的是多顯示器設置,並且你的應用程式在Windows11中的錯誤顯示器上不斷打開,本指南可以提供協助!我們將討論一些在Windows上關閉多個顯示器的實用方法,以便你的應用程式在主顯示器上開啟。為什麼在我的第二台顯示器上開啟程式?以前在第二台顯示器上使用該程序,並在應用程式在其上時將其關閉。作業系統中的顯示設定可能配置為在該畫面上開啟新程式。已重新連接輔助顯示器或變更顯示器配置。某些應用程式有故障或錯誤,這可能會導致它們在錯誤的顯示器上打開,無論設定如何。如何使程式在特定顯示器上開啟Windo

See all articles